Results 1 to 1 of 1

Thread: error in Recursive version of glob in php5

  1. #1

    Thread Starter
    Frenzied Member
    Join Date
    Apr 2005
    Posts
    1,907

    Arrow error in Recursive version of glob in php5

    Hi all . I got a php script that when i run it i get the following warnnings.
    could any one help me fix these warnings .Thanks


    Code:
    Warning: Invalid argument supplied for foreach() in this line...
    
     foreach (glob("$sDir/*", GLOB_ONLYDIR) as $sSubDir)
      {
       $aSubFiles = rglob($sSubDir, $sPattern, $nFlags);
       $aFiles = array_merge($aFiles, $aSubFiles);
      }
    Code:
    Warning: sort() expects parameter 1 to be array, boolean given in this line...
    
    /* Get Listing of avatars */
    $files = rglob (AVATARS_DIR.AVATARS_DIR_STOCK, '*');
    sort ($files, SORT_STRING);
    complete code:

    Code:
    <?php
    
    
    /**
     * Recursive version of glob
     *
     *
     * @return array containing all pattern-matched files.
     *
     * @param string $sDir      Directory to start with.
     * @param string $sPattern  Pattern to glob for.
     * @param int $nFlags      Flags sent to glob.
     */
    function rglob($sDir, $sPattern, $nFlags = NULL)
    {
      $sDir = escapeshellcmd($sDir);
    
      // Get the list of all matching files currently in the
      // directory.
    
      $aFiles = glob("$sDir/$sPattern", $nFlags);
    
      // Then get a list of all directories in this directory, and
      // run ourselves on the resulting array.  This is the
      // recursion step, which will not execute if there are no
      // directories.
    
      foreach (glob("$sDir/*", GLOB_ONLYDIR) as $sSubDir)
      {
       $aSubFiles = rglob($sSubDir, $sPattern, $nFlags);
       $aFiles = array_merge($aFiles, $aSubFiles);
      }
    
      // The array we return contains the files we found, and the
      // files all of our children found.
    
      return $aFiles;
    }
    
    /* Get Listing of avatars */
    $files = rglob (AVATARS_DIR.AVATARS_DIR_STOCK, '*');
    sort ($files, SORT_STRING);
    Last edited by tony007; Jul 26th, 2005 at 01:43 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width