Einzelnen Beitrag anzeigen
  #3 (permalink)  
Alt 23-03-2005, 21:41
yodatortenboxwe
 Newbie
Links : Onlinestatus : yodatortenboxwe ist offline
Registriert seit: Sep 2004
Beiträge: 3
yodatortenboxwe ist zur Zeit noch ein unbeschriebenes Blatt
Standard

genau das wollte ich wissen...merci

Ich hab zwar nun einen Rückgabewert, aber leider noch nicht alles das was ich wollte.

Es gibt einen Ordner Downloads in dem 2 Dateien sind. In diesem Ordner wiederum ist ein Ordner Test in dem eine Datei liegt.
Das orginal Funktion wird von einer Datei aufgerufen die dann den rückgabewert erwartet. der original code ist folgender:
PHP-Code:
function xtc_getDownloads() {

  
$files=array();

  
$dir=DIR_FS_CATALOG.'download/';
  if (
$fp=opendir($dir)) {
  while  (
$file readdir($fp)) {
        if (
is_file($dir.$file) && $file!='.htaccess'){
         
$size=filesize($dir.$file);
        
$files[]=array(
                        
'id' => $file,
                        
'text' => $file.' | '.xtc_format_filesize($size),
                        
'size'=>$size,
                        
'date'=>date ("F d Y H:i:s."filemtime($dir.$file)));
        
        }
//if
        
// while
        
closedir($fp);
  }
  return 
$files;
  } 
Da ich nun alles inkl. Unterverzeichnisse auslesen will habe ich es nun wie oben beschrieben umgesetzt:
PHP-Code:
function xtc_getDownloads() 
  {

      
$dir=DIR_FS_CATALOG.'download/';
      
GetDirArray($dir);
      
      return 
GetDirArray($dir);
  }

  function 
GetDirArray($sPath)
  {
    
$handle=opendir($sPath);
    while (
$file readdir($handle))
    {
            
$retVal[count($retVal)] = $file;
    }
    
closedir($handle);
    
sort($retVal);

    while (list(
$key$val) = each($retVal))
    {
        if ((
$val != ".") && ($val != "..") && ($val != ".htaccess"))
        {
                
$path str_replace("//","/",$sPath.$val);
                
$size=filesize($path);
                
$file str_replace(DIR_FS_CATALOG."download/","",$sPath.$val);
                if (!
is_dir($sPath.$val))
                {
                
$files[]=array(
                        
'id' => $file,
                        
'text' => $file.' | '.xtc_format_filesize($size),
                        
'size'=>$size,
                        
'date'=>date ("F d Y H:i:s."filemtime($path)));
                } 
// end if
                
if (is_dir($sPath.$val))
                   {
                       
GetDirArray($sPath.$val."/");
                   } 
// end if
           
// end if
       
// end while
       
return $files;
  } 
So habe ich keinerlei Fehlermeldungen, aber in dem was zurückgegeben wird stehen nur die Dateien der ersten Ebene und nicht die Dateien aus dem Unterverzeichnis.
Wenn ich nun return GetDirArray($sPath); nehme kommen nur fehlermeldungen und nur mit GetDirArray(); ebenfalls...

Geändert von yodatortenboxwe (24-03-2005 um 11:05 Uhr)
Mit Zitat antworten