Knebba Skrevet 23. januar 2004 Del Skrevet 23. januar 2004 Holder på med et galleri script, og lurer på om man kan gjøre slik at følgende uthenting av thumbs begrenses til 70. Kode: <?php function cmp($a, $b) { return strcmp($b["mtime"], $a["mtime"]); } //$relative_path = "/foto/thumbs"; $relative_path = "foto/thumbs"; $absolute_path = getcwd()."/".$relative_path; $dir_resource = opendir($absolute_path); $i = 0; while( false !== ($file = readdir($dir_resource) ) ) { if( eregi("/$.+\.jpeg|jpg|png|gif^/", $file) ) { $files[$i]["name"] = $file; $files[$i]["mtime"] = filemtime($absolute_path."/$file"); $i++; } } closedir($dir_resource); usort($files, "cmp"); foreach($files as $file) { echo "<a href=\"index.php?side=bilder&id=".basename($file['name'])."\"><img src=\"$relative_path/".basename($file['name'])."\" width=\"35\" height=\"35\" border=\"0\"></a>"; } echo "$file_list"; echo "<br>"; $mappe = "foto/thumbs"; function antallFiler($mappe) { if(is_dir($mappe)) { $counter = 0; $dh = opendir($mappe); while($file = readdir($dh)) { if($file == '..' || $file == '.') continue; if(is_dir($file)) continue; $counter++; } } return $counter; } $antall = antallFiler('./foto/thumbs'); echo "$antall bilder totalt<p />"; ?> slik at det etterhvert ikke blir fult av thumbs å hente ut. tusen takk Lenke til kommentar
Torbjørn Skrevet 23. januar 2004 Del Skrevet 23. januar 2004 der du tester for et bildelignende filnavn, kan du også legge inn som krav at telleren skal være mindre enn 70 kanskje? Lenke til kommentar
Knebba Skrevet 23. januar 2004 Forfatter Del Skrevet 23. januar 2004 ja... men hvordan? er ikke jeg som har satt sammen hele scriptet. noen som kan hjelpe litt på vei? Lenke til kommentar
Torbjørn Skrevet 23. januar 2004 Del Skrevet 23. januar 2004 http://www.php.net/manual/en/control-struc...l-structures.if der finner du eksempler på hvordan man bruker if og kontrollstrukturer. Lenke til kommentar
Knebba Skrevet 23. januar 2004 Forfatter Del Skrevet 23. januar 2004 (endret) kan ting om if... men hvordan kan scriptet vite om det er flere thumbs en 70 ? noen spesielle funksjoner som må brukes? hvor skal det puttes inn i koden osv osv er dette noe som er i den duren? : foreach ($recs as $id=>$rec) { if($id=="5") { break; } else { print ..... } er veldig glad for hjelp og svar som kan lære meg saker og ting Endret 23. januar 2004 av kennteh Lenke til kommentar
Torbjørn Skrevet 23. januar 2004 Del Skrevet 23. januar 2004 if( eregi("/$.+\.jpeg|jpg|png|gif^/", $file) ) { $files[$i]["name"] = $file; $files[$i]["mtime"] = filemtime($absolute_path."/$file"); $i++; } det er her den legger til fila som en bildefil, du ser at den leter etter bildelingnende file extension. hvis du slenger på " and $i < 70" i ifsetninga, så burde den slutte å legge til bilder hvis $i går over 70 Lenke til kommentar
Knebba Skrevet 23. januar 2004 Forfatter Del Skrevet 23. januar 2004 har laget den slik nå: if( eregi("/$.+\.jpeg|jpg|png|gif^/", $file) ) { if ($i < 70) { $files[$i]["name"] = $file; $files[$i]["mtime"] = filemtime($absolute_path."/$file"); $i++; } men den fjerner de nyeste bildene, og det er ikke meningen den skal fjerne de eldste... Lenke til kommentar
Torbjørn Skrevet 23. januar 2004 Del Skrevet 23. januar 2004 hm.. ok, ta bort det du har endret, og bytt ut denne delen: foreach($files as $file) { echo "<a href=\"index.php?side=bilder&id=".basename($file['name'])."\"><img src=\"$relative_path/".basename($file['name'])."\" width=\"35\" height=\"35\" border=\"0\"></a>"; } til slik: $i=0; foreach($files as $file) { if(++$i >= 70) break; echo "<a href=\"index.php?side=bilder&id=".basename($file['name'])."\"><img src=\"$relative_path/".basename($file['name'])."\" width=\"35\" height=\"35\" border=\"0\"></a>"; } Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå