Knebba Skrevet 23. januar 2004 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
Torbjørn Skrevet 23. januar 2004 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?
Knebba Skrevet 23. januar 2004 Forfatter Skrevet 23. januar 2004 ja... men hvordan? er ikke jeg som har satt sammen hele scriptet. noen som kan hjelpe litt på vei?
Torbjørn Skrevet 23. januar 2004 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.
Knebba Skrevet 23. januar 2004 Forfatter 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
Torbjørn Skrevet 23. januar 2004 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
Knebba Skrevet 23. januar 2004 Forfatter 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...
Torbjørn Skrevet 23. januar 2004 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>"; }
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å