06. januar 2006 - 11:48
Der er
11 kommentarer og 1 løsning
Sorter efter filnavn PHP
Dette script skriver alle filerne i en angivet mappe... Hvordan får man dem til at skrive filerne efter alfabetisk orden... Som det er nu, kommer de bare lidt tilfældigt... <?php $dir = "../deadlines"; if (is_dir($dir)) { if ($dh = opendir($dir)) { $i = 0; while (($file = readdir($dh)) !== false) { if($file != "." && $file != ".."){ $i++; echo "<a href=\"$dir/$file\">$file</a><br /><br />\n"; } } closedir($dh); } } ?>
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
06. januar 2006 - 12:30
#1
if (is_dir($dir)) { if ($dh = opendir($dir)) { $files = array(); while (($file = readdir($dh)) !== false) { if($file != "." && $file != ".."){ $files[] = $file; } } sort(&$files); foreach($files as $file){ echo "<a href=\"$dir/$file\">$file</a><br /><br />\n"; } closedir($dh); }
06. januar 2006 - 12:58
#2
Hmmm... Nej det virker tilsyneladende ikke... <?php $dir = "../deadlines"; if (is_dir($dir)) { if ($dh = opendir($dir)) { $files = array(); while (($file = readdir($dh)) !== false) { if($file != "." && $file != ".."){ $files[] = $file; } } sort(&$files); foreach($files as $file){ echo "<a href=\"$dir/$file\">$file</a><br /><br />\n"; } closedir($dh); } ?>
06. januar 2006 - 14:40
#3
Hvad med dette? <?php $dir = "./deadlines"; if (is_dir($dir)) { if ($dh = opendir($dir)) { $files = array(); while (($file = readdir($dh)) !== false) { if($file != "." && $file != "..") { $files[] = $file; } } sort(&$files); foreach($files as $file) { echo "<a href=\"$dir/$file\">$file</a><br /><br />\n"; } closedir($dh); } } ?>
06. januar 2006 - 15:06
#4
Det virker ikke... Der er ingen fejlmeddelelse eller noget - den viser bare ingenting...
06. januar 2006 - 15:13
#5
Prøve dette, så vi kan finde ud af hvad der er galt.. <?php $dir = "../deadlines"; if (is_dir($dir)) { if ($dh = opendir($dir)) { $files = array(); while (($file = readdir($dh)) !== false) { if($file != "." && $file != "..") { $files[] = $file; } } sort(&$files); foreach($files as $file) { echo "<a href=\"$dir/$file\">$file</a><br /><br />\n"; } closedir($dh); } else { echo "kunne ikke åbne mappe (" . $dir . ")"; } } else { echo "kunne ikke finde mappen (" . $dir . ")"; } ?>
06. januar 2006 - 15:18
#6
Det var godtnok mystisk... Det virker besynderligt nok fint nu! Det undrer mig! Takker Har du så evt. en ide til hvordan man fjerner "efternavnet" .php .gif .jpg osv? Mads
06. januar 2006 - 15:29
#7
Jeg ved ikke om der er en lettere måde, men ellers virker dette fint: <?php $dir = "../deadlines"; if (is_dir($dir)) { if ($dh = opendir($dir)) { $files = array(); while (($file = readdir($dh)) !== false) { if($file != "." && $file != "..") { $files[] = $file; } } sort(&$files); foreach($files as $file) { $filename = explode(".", $file); echo "<a href=\"$dir/$file\">$filename[0]</a><br /><br />\n"; } closedir($dh); } else { echo "kunne ikke åbne mappe (" . $dir . ")"; } } else { echo "kunne ikke finde mappen (" . $dir . ")"; } ?>
06. januar 2006 - 15:30
#8
Det skal lige siges, at det ikke virker hvis filnavnet indeholder "."
06. januar 2006 - 16:43
#9
Jeg har lavet dette som kan fjerne endelsen af filen. Det virker også hvis filnavnet indeholder "." men jeg ved ikke om der findes en smartere måde at gøre det på. foreach($files as $file) { $filename = explode(".", $file); if(sizeof($filename) > 2) { for($i = 0; $i < sizeof($filename)-1; $i++) { $name .= ($i == sizeof($filename)-2) ? $filename[$i] : $filename[$i] . "."; } echo "<a href=\"$dir/$file\">$name</a><br /><br />\n"; } else { echo "<a href=\"$dir/$file\">$filename[0]</a><br /><br />\n"; } }
06. januar 2006 - 17:25
#10
En anden mulighed: $files = glob("images/*.*"); sort($files); foreach ($files as $file) { $shortName = substr($file, strrpos($file, "/")+1, strrpos($file, ".")-strlen($file)); echo '<a href="'.$file.'">'.$shortName.'</a><br>'; }
08. januar 2006 - 19:53
#11
Har lige været på weekend - det virker fint! mr-kill>> læg et svar, så får du lige en slat point fra mig ;)
08. januar 2006 - 20:59
#12
svar :)
Vi tilbyder markedets bedste kurser inden for webudvikling