Just nu i M3-nätverket
Gå till innehåll

Filesystem problem.


Corez

Rekommendera Poster

Jag använder loopen nedan för att visa alla bilder i katalogen bilder/sesong2003/thumbnail och länka varje bild till motsvarande bild i katalogen bilder/sesong2003/.

 

Mitt problem är att när jag lista bilderna i thumnail katalogen så visas alltid katalogen bilder/sesong2003/thumbnail som sista thumnail. Har gjort något fel eller finns det någon lösning på problemet som jag missat?

 

<?

if ($dir = opendir("bilder/sesong2003")) {

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

if (!is_dir($file)){

?>

<tr>

<td width="15%"><a href="bilder/sesong2003/<? echo "$file"; ?>" target="_blank"><img src="bilder/sesong2003/thumbnail/<? echo "$file"; ?>" border="0"></a></td>

</tr>

<?

}

}

closedir($dir);

}

?>

 

Länk till kommentar
Dela på andra webbplatser

Ja, det är ett litet tankefel du har där.

 

Du använder dig mycket tiktigt utan is_dir(), men anger bara undermappen, inte hela sökvägen.

För att det ska fungera på ditt sätt, måste du först ställa programmet i thumbnail-mappen.

 

Men det är ingen bra lösning. Bättre är att lägga till den fullständiga sökvägen.

 

Sedan brukar jag, istället för att omge allt som ska eventuellt ske med en if-sats, göra det omvända, och avbryta om det inte ska göras. Med "continue" går du vidare till nästa iteration.

 

Så här kan det se ut (klippt bort HTML-koden):

$mapp = "bilder/sesong2003";
if ($dir = opendir($mapp)) {
while (false !== ($file = readdir($dir))) { 
/* Gå vidare till nästa om det är en mapp */
if (is_dir($mapp . "/" . $file)) continue;
/* HTML-koden här */
}
} 
closedir($dir);

 

Länk till kommentar
Dela på andra webbplatser

Såg just att jag hade lite slarvfel i mitt inlägg (stavfel), men du klarade dig tydligen ändå.

Så här skulle andra paragrafen vara:

 

Du använder dig mycket riktigt utav is_dir(), men anger bara undermappen, inte hela sökvägen.

 

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...