webForumDet fria alternativet

Warning: readdir(): 1 is not a valid Directory resource

4 svar · 608 visningar · startad av web00132

web00132Medlem sedan maj 2001822 inlägg
#1

Får detta felmeddelande på denna kod:

$dir = ($_GET[dir]) ? $_GET[dir] : "andrabilder";
$kat = opendir($dir);
while ($fil = readdir($kat)) { // Denna rad genererar felmeddelandet
	if (!($fil == "." || $fil == "..")) {
		$vFil = explode("_",$fil);
		if ($vFil[1] == "small") {
			echo "<li><a href='index.php?dir=$dir&amp;img=$fil'><img src='$dir/$fil' alt=''></a></li>";
		}
		closedir($kat);
	}
}

Det är rätt katalog och så, annars skulle felmeddelandet se annorlunda ut. Och det finns en bild i katalogen som heter test.jpg. Vad är egentligen fel?

fiddlerMedlem sedan juli 20022 464 inlägg
#2

Kan det möjligen saknas ett / i början på $dir?

web00132Medlem sedan maj 2001822 inlägg
#3

Tack för svar!
Nej det är det som är grejen, då får jag ett annat felmeddelande:
"Warning: opendir(/andrabilder) [function.opendir]: failed to open dir: No such file or directory"
Och jag står i rätt katalog och så tycker jag, verkar vara något annat. Någon som har någon annan idé?

aasahMedlem sedan mars 20033 451 inlägg
#4

Vad vill du göra egentligen?

web00132 skrev:

Och det finns en bild i katalogen som heter test.jpg.

$dir = ($_GET[dir]) ? $_GET[dir] : "andrabilder";
$kat = opendir($dir);
while ($fil = readdir($kat)) { // Denna rad genererar felmeddelandet
	if (!($fil == "." || $fil == "..")) {
		$vFil = explode("_",$fil); //<--- ***
		if ($vFil[1] == "small") {
			echo "<li><a href='index.php?dir=$dir&amp;img=$fil'><img src='$dir/$fil' alt=''></a></li>";
		}
		closedir($kat);
	}
}

Jag tror att problemet uppstår vid ***. Du försöker dela upp strängen "test.jpg" i delen före '_' och delen efter '_'. Eftersom du saknar ett '_' så returnerar explode en array med 'test.jpg'. (Enligt min tolkning av definitionen explode() ) Rimligen ligger då denna sträng i $vFil[0]. $vFil[1] innehåller då ingenting.

web00132Medlem sedan maj 2001822 inlägg
#5

Tack för svaren hörni! Men det verkar berott på något så töntigt som att denna rad hade hamnat fel:

closedir($kat);

Den ska nog ligga sist...

Genererad på 369 ms · cache AV · v20260730165559-full.f96bc7eb