Probleme mit readdir()

resterampe

Mitglied
foldendes script wird per include in die /index.php geladen
PHP:
<?php
$sub = "photos"; //photos grafix sketch
$user = "oemer"; //oemer elena

$pfad = "images/".$user."/".$sub;
if ($dir = opendir($pfad)) {
	while (false !== ($file = readdir($dir))) {
	   	if ($file != "." && $file != "..") {
			//ist es ein Verzeichnis?
       		if(is_dir($file)) {
        		echo'<a href="'.$file.'">'.$file.'</a><br />';
          		$pfad2 = $file;
          		$dir2 = opendir ($pfad2);
          		$bilder = array();
          		
				while (false !== ($file2 = readdir($dir2))) {
					if ((filetype($pfad.$file2)!="dir")) {
            			$img[] = $file2;
            			echo '<img src="'.$pfad2.'/'.$img[rand(0, count($img)-1)].'"><br />';
            			}
          			}
          			closedir($dir2);
       			}
			}
		}
		closedir($dir); 
	}
?>

als Fehler bekomme ich:
Warning: readdir(): 1 is not a valid Directory resource in /pfad/datei.php on line 7
oder
Warning: readdir(): 2 is not a valid Directory resource in /pfad/datei.php on line 7

PHP:
while (false !== ($file = readdir($dir))) {

eine echo $pfad bringt die richtige Pfadangabe.
Hat jemand einen Tipp für mich?

Danke Julian
 
Zuletzt bearbeitet:
is_dir() macht auch Probleme und gibt false aus -> sprich angeblich kein Verzeichnis

und realpath() gibt die gleiche Fehlermeldung zurück

Wobei ich nicht sicher bin ob ich es richtig angewendet habe

Julian
 
Probier es mal mit einer „richtigen“ relativen Pfadangabe: „./images/oemer/photos/“.
 
ändert leider beides nichts und hatte ich auch schon vorher getestet...
wender Pfad "." wird genommen, damit läuft das Script auch, aber bei jedem anderem Pfad kommt halt die Fehlermeldung...
 
Jetzt weiß ich, woran es liegt: Nach dem ersten Durchlauf des while-Kontrollkonstruks wird der Verzeichnis-Handler wieder geschlossen.
 
jetzt kommt wenigsten keine Fehlermeldung mehr :) aber Bilder sehe ich keine

da hockt man stundenlang davor und sieht es einfach nicht
Danke


edit:
habe den ersten Eintrag editiert

nun bekomme ich vom is_dir eine falsche Rückmeldung habe testweise ein
else echo "no dir! ";
eingefügt... und bekomme für jeden Ordner der da ist eine Fehlermeldung...
 
Zuletzt bearbeitet:
Zurück