dir list név szerint...
Hello
Adott egy könyvtár listázó script, ami dátum szerint listázza ki a fájlokat.. mit kéne átírnom, hogy fájlnév szerint listázzon?
A válaszokat elöre is köszi...
Davee
A kód pedig itt:
■ Adott egy könyvtár listázó script, ami dátum szerint listázza ki a fájlokat.. mit kéne átírnom, hogy fájlnév szerint listázzon?
A válaszokat elöre is köszi...
Davee
A kód pedig itt:
- <?php
- $list = $_GET["list"];
- $menu = $_GET["menu"];
- function getParentDir($path)
- {
- for($i = 0; $i <= strlen($path)-1; $i++)
- {
- if($path[$i] == '/') $num[] = $i;
- }
- return substr($path, 0, $num[count($num)-2]);
- }
- if(!emptyempty($list))
- {
- if(substr_count($list, "..") > 0 OR !file_exists("smsdata/".$list)) exit;
- $dir = "smsdata/".$list;
- }
- else
- $dir = "smsdata";
- $d = dir($dir);
- while ($obj = $d->read()) {
- if(is_dir($dir."/".$obj))
- $dirs[] = $obj;
- else
- if($obj[0] != '.')
- $files[] = $obj;
- }
- $d->close();
- if($dir == "smsdata")
- unset($dirs[0]);
- $dirlist = array_merge($dirs, $files);
- unset($dirlist[0]);
- $elem = count($dirlist);
- echo '<div align="center">';
- echo '<table border="0" cellspacing="0">';
- echo "<tr>";
- echo "<td width=\"16\"> </td>";
- echo "<td width=\"200\">Fájlnév</td>";
- echo "<td width=\"60\" align=right>Típus</td>";
- echo "<td width=\"80\" align=right>Méret (byte)</td>";
- echo "<td width=\"120\" align=right>Dátum</td>";
- echo "<td width=\"16\"> </td>";
- echo "</tr>";
- $id = 1;
- for($x = 0; $x <= $elem-1; $x++)
- {
- $cc = $dirlist[$id++];
- $path_parts = pathinfo($dir."/".$cc);
- switch($cc)
- {
- case "..":
- $col = '<a href="/listview.php?list='.getParentDir($list."/".$cc).'"><img src="/icons/16/parent.gif" width="16" height="16" border="0"></a>';
- $linktype = "par";
- break;
- default:
- if(is_dir($dir."/".$cc) and !emptyempty($cc))
- {
- $col = '<a href="/listview.php?list='.(emptyempty($list)?($cc):($list."/".$cc)).'"><img src="/icons/16/dir';
- $filedate = date("Y-m-d H:i:s", filemtime($dir."/".$cc));
- if(file_exists($dir."/".$cc."/.new"))
- $col .= 'new.gif" width="16" height="16" border="0"></a>';
- elseif(file_exists($dir."/".$cc."/.construct"))
- $col .= 'construct.gif" width="16" height="16" border="0"></a>';
- elseif(file_exists($dir."/".$cc."/.del"))
- $col .= 'del.gif" width="16" height="16" border="0"></a>';
- else
- $col .= '.gif" width="16" height="16" border="0"></a>';
- $linktype = "dir";
- }
- else
- {
- $ext = strtoupper($path_parts["extension"]);
- if(!emptyempty($cc))
- {
- $filesize = number_format(ceil(filesize($dir."/".$cc)), 0, ",", " ");
- $filedate = date("Y-m-d H:i:s", filemtime($dir."/".$cc));
- switch($ext)
- {
- case "MP3":
- $col = '<a href="/'.($dir."/".$cc).'"><img src="/icons/16/mp3.gif" width="16" height="16" border="0" ALT="'.$filesize.' Kbyte"></a>';
- break;
- case "NFO": case "TXT":
- $col = '<a href="/'.($dir."/".$cc).'"><img src="/icons/16/info.gif" width="16" height="16" border="0" ALT="'.$filesize.' Kbyte"></a>';
- break;
- case "AVI": case "MPG": case "MPEG":
- $col = '<a href="/'.($dir."/".$cc).'"><img src="/icons/16/video.gif" width="16" height="16" border="0" ALT="'.$filesize.' Kbyte"></a>';
- break;
- case "BIN": case "ISO": case "NRG":
- $col = '<a href="/'.($dir."/".$cc).'"><img src="/icons/16/cdimage.gif" width="16" height="16" border="0" ALT="'.$filesize.' Kbyte"></a>';
- break;
- case "CUE":
- $col = '<a href="/'.($dir."/".$cc).'"><img src="/icons/16/cue.gif" width="16" height="16" border="0" ALT="'.$filesize.' Kbyte"></a>';
- break;
- case "RAR": case "ZIP": case "ARJ":
- $col = '<a href="/'.($dir."/".$cc).'"><img src="/icons/16/pack.gif" width="16" height="16" border="0" ALT="'.$filesize.' Kbyte"></a>';
- break;
- case "JPG": case "JPEG": case "GIF":
- $col = '<a href="/'.($dir."/".$cc).'"><img src="/icons/16/pic.gif" width="16" height="16" border="0" ALT="'.$filesize.' Kbyte"></a>';
- break;
- default:
- if(strlen($ext) == 3 and ($ext[0] == 'R' or $ext[0] == '0') )
- $col = '<a href="/'.($dir."/".$cc).'"><img src="/icons/16/pack.gif" width="16" height="16" border="0" ALT="'.$filesize.' Kbyte"></a>';
- else
- $col = '<a href="/'.($dir."/".$cc).'"><img src="/icons/16/file.gif" width="16" height="16" border="0" ALT="'.$filesize.' Kbyte"></a>';
- break;
- }
- }
- else
- $col = " ";
- }
- break;
- }
- switch($linktype)
- {
- case "par":
- $link = '<a href="/?list='.getParentDir($list."/".$cc).'">'.$cc.'</a>';
- $extension = htmlentities("<DIR>");
- break;
- case "dir":
- $link = '<a href="/?list='.(emptyempty($list)?($cc):($list."/".$cc)).'">'.$cc.'</a>';
- $extension = htmlentities("<DIR>");
- break;
- default:
- $link = '<a href="/'.($dir."/".$cc).'">'.$cc.'</a>';
- $extension = $ext;
- break;
- }
- if($szin == "4B5C8A") $szin = "40517D"; else $szin = "4B5C8A";
- echo "<tr bgcolor=$szin>";
- echo "<td>$col</td>";
- echo "<td>$link</td>";
- echo "<td align=right>".$extension."</td>";
- echo "<td align=right>$filesize</td>";
- echo "<td align=right>$filedate</td>";
- echo "<td><a href=\"".($dir."/".$cc)."\"><img src=icons/16/down.gif border=0></img></a></td>";
- echo "</tr>";
- unset($link, $linktype, $col, $extension, $filedate, $ext);
- }
- ?>
Re: dir list név szerint...
http://weblabor.hu/forumok/temak/1941
dir objektum
a program a dir objektum read() metodusat hasznalja a konyvtar tartalmanak beolvasasahoz, ami ezt a konyvtarbejegyzesek letrehozasanak datuma alapjan vegzi, ezert ez a mukodes. a problemat legeccerubben ugytudod athidalni, ha a $files tombon lefuttatod pl a natsort() fuggvenyt, amely abc sorrendbe rendezi a fajlneveket. ezt a $dirs-en is megteheted, de ha a kettot egyutt szeretned rendezni, akkor pedig az osszefuzesuk utan, a $dirlist valtozon futtasd le.
--
slink
Ohh köszi a gyors választ!!!
Pont ezért fordultam hozzátok...
Esetleg valahogy konkrétabban nem tudnád/tudnátok leírni hogy mit is kéne átírnom a forrásbol?
Elöre is köcce
Davee