Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Ordner & Dateien auflisten (https://www.delphipraxis.net/69736-%5Bphp%5D-ordner-dateien-auflisten.html)

Balu der Bär 19. Mai 2006 12:02


[PHP] Ordner & Dateien auflisten
 
Moin,

mal wieder ein PHP-Problem:

Ich würde gerne alle Dateien und Verzeichnisse eines Verzeichnisses auflisten lassen.
Hier bin ich auf folgenden Code gestoßen:
Code:
<?php

function is_dir_ex($dirname)
{
 $handle=opendir($dirname);
 if(readdir($handle)=='.')
  $result=true;
 else
  $result=false;
 closedir($handle);
 return $result;
}

function list_dir($dirname)
{
   if($dirname[strlen($dirname)-1]!='\')
    $dirname.='\';
   static $result_array=array();
   $handle=opendir($dirname);
   while ($file = readdir($handle))
    {
      if($file=='.'||$file=='..')
       continue;
      if(is_dir_ex($dirname.$file))
       list_dir($dirname.$file.'\');
      else
       //array_push($result_array,$dirname.$file);
       $result_array[]=$dirname.$file;
    }
    closedir($handle);
    return $result_array;
}

$array=list_dir('c:\php4');
foreach($array as $value)
{
   echo $value;
   echo "
";
}

?>
Beim ausführen jedoch erhalte ich immer folgende Fehler:
Zitat:

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in S:\tux\xampp\htdocs\xampp\php\test.php on line 17
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in S:\tux\xampp\htdocs\xampp\php\test.php on line 22
Seit ner halben Stunde grübele ich jetzt schon wo der Fehler sein könnte, bisher ohne Erfolg. Hat da jemand ne Ahnung?

Danke euch :-)

fwsp 19. Mai 2006 12:05

Re: [PHP] Ordner & Dateien auflisten
 
es gibt da aber auch schon ne schöne lösung von Luckie, mal im forum nach php dirlisting suchen.

Balu der Bär 19. Mai 2006 12:15

Re: [PHP] Ordner & Dateien auflisten
 
Luckie´s Thread habe ich nicht gefunden, dafür aber deinen. Aber so wie du es gelöst hat gehts bei mir auch nicht:
Code:
<?php
function ListDirs($dir)
{
  $dirs = Array();
  $handle = opendir($dir);
  $count = 0;

  while ($s = readdir($handle))
  {
    if ( (!(is_file($s))) AND (($s[0] != '.')) AND (is_dir($dir.$s)) )
    {
      $dirs[$count] = $s;
      $count++;
    }
  }

  closedir($handle);
  array_multisort($dirs, SORT_ASC, $dirs);
  return $dirs;
}
 echo ListDirs('http://localhost/');
?>
Zitat:

Warning: opendir(http://localhost/) [function.opendir]: failed to open dir: not implemented in S:\tux\xampp\htdocs\xampp\php\test1.php on line 5

Warning: readdir(): supplied argument is not a valid Directory resource in S:\tux\xampp\htdocs\xampp\php\test1.php on line 8

Warning: closedir(): supplied argument is not a valid Directory resource in S:\tux\xampp\htdocs\xampp\php\test1.php on line 17

alcaeus 19. Mai 2006 12:18

Re: [PHP] Ordner & Dateien auflisten
 
Das funktioniert wahrscheinlich nicht mit urls. Versuch mal ./ oder sowas beim Aufruf mitzugeben ;)

Greetz
alcaeus

Balu der Bär 19. Mai 2006 12:24

Re: [PHP] Ordner & Dateien auflisten
 
Nichts zu machen, läuft nicht.

:gruebel:

himitsu 19. Mai 2006 13:36

Re: [PHP] Ordner & Dateien auflisten
 
Kann es sin, daß du keine Rechte dafür hast?

Zitat:

Warning: opendir(http://localhost/) [function.opendir]: failed to open dir: not implemented in S:\tux\xampp\htdocs\xampp\php\test1.php on line 5
Mir sieht es irgendwie danach aus, als wenn "opendir not implemented in ...", also nicht existiert.

Thorben77 19. Mai 2006 14:01

Re: [PHP] Ordner & Dateien auflisten
 
Öhm, wenn du PHP 5 verwendest, kannst du auch ganz einfach scandir() verwenden:
Code:
<?php
   function list_files_and_directories($dir)
   {
      $array = scandir($dir);
      unset($array[0]);
      unset($array[1]);
      $array = array_values($array);
      foreach ($array as $value) {
         echo $value . "
\n";
      }
   }
?>

Balu der Bär 19. Mai 2006 16:03

Re: [PHP] Ordner & Dateien auflisten
 
Bei mir lokal läuft PHP 5, auf dem Webspae aber nur PHP 4.

@himitsu: Ich habe alle Rechte die man haben kann, trotzdem kommen diese Meldungen. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz