14. oktober 2009 - 13:41
Der er
8 kommentarer og 1 løsning
Sortering af filer
Hej eksperter. Jeg bruger nedenstående kode til at vise filerne i en mappe i Flash. Men den sorterer ikke efter filnavn, det kunne jeg godt tænke mig. Kan nogen af Jer hjælpe med det? Kode: function showContent($path){ if ($handle = opendir($path)) { $up = substr($path, 0, (strrpos(dirname($path."/."),"/"))); print "<levelup type=\"folder\" image=\"folder_up.png\" name=\"Level Up\" source=\"$up\" />"; while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { $fName = $file; $file = $path.'/'.$file; if(is_file($file)) { echo "<image type=\"slide\" name=\"$fName\" source=\"".$file."\" />"; } elseif (is_dir($file)) { print "<folder type=\"folder\" image=\"folder.png\" name=\"$fName\" source=\"".$file."\" />"; } } } closedir($handle); } } if (isset($_POST['submitBtn'])){ $actpath = isset($_POST['path']) ? $_POST['path'] : '.'; } else { $actpath = isset($_GET['path']) ? $_GET['path'] : '.'; } ?> <?php echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>"; echo "<parent path=\"".$_SERVER['PHP_SELF']."?path=$up\" >"; showContent($actpath); echo "</parent>"; ?>
Annonceindlæg fra HP
14. oktober 2009 - 13:55
#1
prøv med: function showContent($path){ if ($handle = opendir($path)) { $up = substr($path, 0, (strrpos(dirname($path."/."),"/"))); print "<levelup type=\"folder\" image=\"folder_up.png\" name=\"Level Up\" source=\"$up\" />"; while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { $fName = $file; $file = $path.'/'.$file; $file_arr[] = } } closedir($handle); } $file_arr = natsort($file_arr); $length = sizeof($file_arr); for($i=0;$i<=$length;$i++){ if(is_file($file_arr[$i])) { echo "<image type=\"slide\" name=\"$file_arr[$i]\" source=\"".$path."/".$file."\" />"; } elseif (is_dir($file_arr[$i])) { print "<folder type=\"folder\" image=\"folder.png\" name=\"$file_arr[$i]\" source=\"".$path."/".$file."\" />"; } } } if (isset($_POST['submitBtn'])){ $actpath = isset($_POST['path']) ? $_POST['path'] : '.'; } else { $actpath = isset($_GET['path']) ? $_GET['path'] : '.'; }
14. oktober 2009 - 14:21
#2
Det virker desværre ikke... Jeg får ingen fejl melding, men heller ikke noget filer!!!
14. oktober 2009 - 14:51
#3
jeg har da osse dummet mig kan jeg se... $file_arr = natsort($file_arr); skal bare være: natsort($file_arr);
14. oktober 2009 - 15:10
#4
Hvad med noget i stil med: <?php //http://www.eksperten.dk/spm/889475 function showContent($path){ if(is_dir($path)){ $files = glob($path."/*"); $up = substr($path, 0, (strrpos(dirname($path."/."),"/"))); print "<levelup type=\"folder\" image=\"folder_up.png\" name=\"Level Up\" source=\"$up\" />"; natcasesort($files); foreach($files as $file){ $filename = basename($file); if(is_dir($file)) echo '<folder type="folder" image="folder.png" name="'.$filename.'" source="'.$file.'" />'; else echo '<image type="slide" name="'.$filename.'" source="'.$file.'" />'; } } } if (isset($_POST['submitBtn'])){ $actpath = isset($_POST['path']) ? $_POST['path'] : '.'; } else { $actpath = isset($_GET['path']) ? $_GET['path'] : '.'; } ?> <?php echo '<?xml version="1.0" encoding="utf-8"?>'; echo '<parent path="'.$_SERVER['PHP_SELF'].'?path='.$up.'" >'; showContent($actpath); echo '</parent>'; ?>
15. oktober 2009 - 08:35
#5
Der er desværre ikke nogle af forslagene der virker! Gør jeg noget forkert?
15. oktober 2009 - 09:01
#6
Har du et sted man kan se output ? Jeg ville da bestemt mene min kode sortere filerne...
16. oktober 2009 - 09:32
#7
Jakobdo: Sorry... Jeg havde vist ikke fået testet din kode ordentlig igennem, da jeg jo nu kan se at det virker, ligesom det skal... Tak for hjælpen og hvis du lige vil ligge et svar, så skal du få nogle point!
16. oktober 2009 - 09:48
#8
Svar!
16. oktober 2009 - 10:06
#9
Takker for point.
Vi tilbyder markedets bedste kurser inden for webudvikling