09. januar 2003 - 10:48
Der er
10 kommentarer og 1 løsning
Læsning af folder-struktur / filnavne
Hej Kan man lave et PHP script som indlæser f.eks. alle navnene på subfolders og filer på servere (evt. relativt fra det bibliotek man står i)? VH Anders
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
09. januar 2003 - 10:50
#1
jeps det kan du godt ;)
09. januar 2003 - 10:51
#2
kig lidt rundt i PHP spørgesmål, der er mange der har fået hjælp med det.. ;)
09. januar 2003 - 10:51
#3
denne her lister alt fra en bestmt mappe: <? $dir = "crap"; echo "Dir der listes nu: $dir"; echo "<hr>"; $handle = opendir($dir); while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if (is_dir($dir."/".$file)) { echo "<div style=\"float: left; width: 40px\"><code>[dir]</code></div><a href=\"$dir/$file/\">$file/</a><br>"; } elseif (eregi(".gif$", $file)) { echo "<div style=\"float: left; width: 40px\"><code>[gif]</code></div><a href=\"$dir/$file\">$file</a>"; } elseif (eregi(".jpg$", $file)) { echo "<div style=\"float: left; width: 40px\"><code>[jpg]</code></div><a href=\"$dir/$file\">$file</a>"; } elseif (eregi(".zip$", $file)) { echo "<div style=\"float: left; width: 40px\"><code>[zip]</code></div><a href=\"$dir/$file\">$file</a>"; } else { echo "<div style=\"float: left; width: 40px\"><code>[fil]</code></div><a href=\"$dir/$file\">$file</a><br>"; } } } closedir($handle); ?>
09. januar 2003 - 10:53
#4
og skriver filtypen
09. januar 2003 - 11:04
#5
her er et simpelt eksempel hvor du navigerer rundt mellem mapperne: <? if (!isset($dir)) $dir = "./"; echo "Dir der listes nu: $dir"; echo "<hr>"; $handle = opendir($dir); while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if (is_dir($dir."/".$file)) { echo "<div style=\"float: left; width: 40px\"><code>[dir]</code></div><a href=\"?dir=$file\">$file/</a><br>"; } elseif (eregi(".gif$", $file)) { echo "<div style=\"float: left; width: 40px\"><code>[gif]</code></div><a href=\"$dir/$file\">$file</a><br>"; } elseif (eregi(".jpg$", $file)) { echo "<div style=\"float: left; width: 40px\"><code>[jpg]</code></div><a href=\"$dir/$file\">$file</a><br>"; } elseif (eregi(".zip$", $file)) { echo "<div style=\"float: left; width: 40px\"><code>[zip]</code></div><a href=\"$dir/$file\">$file</a><br>"; } else { echo "<div style=\"float: left; width: 40px\"><code>[fil]</code></div><a href=\"$dir/$file\">$file</a><br>"; } } } closedir($handle); ?>
09. januar 2003 - 11:05
#6
Udemærket - hvad hvis man bare vil have den til at skrive de filer/subdir der er i den folder, som man er i? Dvs. uden at angive nogen $dir
09. januar 2003 - 11:08
#7
en lille fejl. Denne her virker: <? if (!isset($dir)) $dir = "./"; echo "Dir der listes nu: $dir"; echo "<hr>"; $handle = opendir($dir); while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if (is_dir($dir."/".$file)) { echo "<div style=\"float: left; width: 40px\"><code>[dir]</code></div><a href=\"?dir=$dir/$file\">$file/</a><br>"; } elseif (eregi(".gif$", $file)) { echo "<div style=\"float: left; width: 40px\"><code>[gif]</code></div><a href=\"$dir/$file\">$file</a><br>"; } elseif (eregi(".jpg$", $file)) { echo "<div style=\"float: left; width: 40px\"><code>[jpg]</code></div><a href=\"$dir/$file\">$file</a><br>"; } elseif (eregi(".zip$", $file)) { echo "<div style=\"float: left; width: 40px\"><code>[zip]</code></div><a href=\"$dir/$file\">$file</a><br>"; } else { echo "<div style=\"float: left; width: 40px\"><code>[fil]</code></div><a href=\"$dir/$file\">$file</a><br>"; } } } closedir($handle); ?>
09. januar 2003 - 11:12
#8
dette her burde virkr, men så kan du ikke navigere rundt mellem mapperne: <? $handle = opendir("./"); while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if (is_dir($dir."/".$file)) { echo "<div style=\"float: left; width: 40px\"><code>[dir]</code></div><a href=\"$file\">$file/</a><br>"; } elseif (eregi(".gif$", $file)) { echo "<div style=\"float: left; width: 40px\"><code>[gif]</code></div><a href=\"$file\">$file</a><br>"; } elseif (eregi(".jpg$", $file)) { echo "<div style=\"float: left; width: 40px\"><code>[jpg]</code></div><a href=\"$file\">$file</a><br>"; } elseif (eregi(".zip$", $file)) { echo "<div style=\"float: left; width: 40px\"><code>[zip]</code></div><a href=\"$file\">$file</a><br>"; } else { echo "<div style=\"float: left; width: 40px\"><code>[fil]</code></div><a href=\"$file\">$file</a><br>"; } } } closedir($handle); ?>
09. januar 2003 - 12:33
#9
Her er et eksempel på en rekursiv algoritme, som jeg tidligere har brugt til at slette et bibliotek inkl. alle underbiblioteker og filer. Det skal selvfølgelig omskrives en smule, men det kan vel ikke være et problem. function RecurseDelete($foldername) { if (file_exists($foldername)) { chmod($foldername, 0777); chdir($foldername); $dirhandle = opendir('.'); while (false !== ($file = readdir($dirhandle))) { if ($file != "." && $file != "..") { if (is_dir($file)) { RecurseDelete($file); } else { if (unlink($file)) echo "Filen \"$file\" er blevet slettet!<br>"; else echo "Problemer med at slette filen \"$file\"!<br>"; } } } closedir($dirhandle); chdir('..'); if (rmdir($foldername)) echo "Biblioteket \"$foldername\" er blevet slettet!<br>"; else echo "Problemer med at slette biblioteket \"$foldername\"!<br>"; } else { echo "Filen/mappen $foldername eksisterer ikke!"; } } $folder = "./mappenavn"; RecurseDelete($folder);
09. januar 2003 - 17:12
#10
Cool schaefner! Jeg vil gerne give 30 point mere hvis nogen kan hjælpe med at få det spyttet ud som XML - noget ala dette: <folder1navn> <filnavn>minfil1</filnavn> <filnavn>minfil1</filnavn> <filnavn>minfil1</filnavn> </folder1navn> osv. VH Anders
09. januar 2003 - 17:13
#11
Skulle selvfølgelig være <folder1navn> <filnavn>minfil1</filnavn> <filnavn>minfil2</filnavn> <filnavn>minfil3</filnavn> </folder1navn>
Vi tilbyder markedets bedste kurser inden for webudvikling