Readdir / Scandir Problem

R

ryoushi

Mitglied
Thread Starter
Dabei seit
02.05.2004
Beiträge
90
Reaktionspunkte
1
Hallo.

Ich habe ein Problem mit den Funktionen Readdir / Scandir.

Wenn ich eine der beiden Funktionen benutze, ist es mir nur möglich den Inhalt des Verzeichnis auszulesen, in dem sich auch die PHP Datei befindet.Sobald ich eine anderes Verzeichnis angebe, bekomme ich nicht.Keine Fehlermeldung oder ähnliches, einfach nur eine leere Seite.

Ist das normal?Kann denn wirklich nur das Verzeichnis auslesen, in dem sich auch die PHP Datei befindet?Das kann doch nicht sein?Was mache ich denn falsch?

Ich hoffe, das mir jemand helfen kann.

Schon mal vielen Dank.
 
welche verzeichnisse möchtest du denn einlesen?
 
Hallo.

Also auf dem MAC wäre das dann z.B. Users/username/Sites/Bilder/.Das funktioniert auch, solange das PHP Script in dem Verzeichnis liegt. Wenn ich jetzt aber Users/username/Sites/Bilder/Urlaub/ auslesen will, geht das schon nicht mehr.Und die Rechte der Verzeichnisse sind beide gleich gesetzt.
 
poste mal bitte deinen code ...
 
Also hier die Readdir Version:

<?
if ($handle = opendir('Users/ryoushi/Sites/'))
{
echo "Files:<br>";

while (false != ($file = readdir($handle)))
{
if ($file != "." && $file != ".." && is_dir($file))
{
echo "$file<br>";
}
}

closedir($handle);
}
?>

Und hier die Scandir Version:

<?
$dir = "Users/ryoushi/Sites/";

$files = scandir($dir);

for($i = 0; $i <= sizeof($files); $i++)
{
if(is_dir($files[$i]) && $files[$i]!="." && $files[$i]!="..")
{
echo $files[$i];
}
}
?>
 
und wenn du $dir = "/Users/ryoushi/Sites/" verwendest? also, am anfang noch einen / einfügst ... geht es dann?
 
Upps.Den Slash habe ich vergessen.Aber es funktioniert trotzdem nicht.

Wenn ich Readdir verwende und dort einen anderen Pfad angebe, läuft er trotzdem in den IF Zweig rein, sehe ich ja an der Ausgabe Files:, aber der Inhalt des Verzeichnis wird halt nicht angezeigt.
 
Problem erkannt, Gefahr gebannt.Der Fehler war, das readdir nur realtive verzeichnisnamen zurückliefert.Sobald man das ganze dann in einen Absolutenverzeichnisnamen ändert, passt das alles.

So sah es vorher aus:
if ($file != "." && $file != ".." && is_dir($file))
{
echo "$file<br>";
}

Und so müsste es aussehen:
if ($file != "." && $file != ".." && is_dir("/Users/peterfischer/Sites/".$file))
{
echo "$file<br>";
}
 
Zurück
Oben Unten