CompZone.Org :: Artykuły :: PHP
Która technologia najbardziej Cię interesuje?
PHP
ASP
AJAX
SQL
JavaScript
Inna
Sonda Wyniki

Add to Google

Listowanie katalogu

Z artykułu dowiemy się w jaki sposób możemy wylistować dowolny katalog.

Proste wyświetlanie

Jeśli chcemy wyświetlić na stronie listę wszystkich plików i katalogów w podanym folderze, należy użyć funkcji php readdir. Oto kod funkcji listującej (jako parametr podajemy ścieżkę do katalogu):

 <?php
function folder_list($dir){
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
echo "$file<br>";
}
closedir($handle);
}
}
?>

Zaawansowane wyświetlanie

Poniżej przedstawiam skrypt, który wyświetli listę plików razem z ich rozmiarem oraz utworzy linki, dzięki czemu można będzie się poruszać po różnych katalogach. Plik ze skryptem należy nazwać "ex2.php".
 <?php
$
path = $_GET['path'];
if(!isset($path))
{
$
path = ".";
}

if ($handle = opendir($path))
{
$
curDir = substr($path, (strrpos(dirname($path."/."),"/")+1));
print "Aktualny katalog: ".$curDir."<br>************************<br>";
print "Sciezka: ".dirname($path."/.")." <br>************************<br>";

while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != "..")
{
$
fName = $file;
$
file = $path.'/'.$file;
if(is_file($file))
{
print "[F] <a href='".$file."'>".$fName."</a> ".filesize($file)."B<br>";
}
if(is_dir($file))

{
print "[D] <a href='ex2.php?path=$file'>$fName</a><br>";
}
}
}
$
up = substr($path, 0, (strrpos(dirname($path."/."),"/")));
print "[^] <a href='ex2.php?path=$up'>Przejdz katalog wyzej</a><br>";

closedir($handle);
}
?>

Więcej różnego typu skryptów listujacych katalogi można znaleźc na stronie funkcji readdir w Manualu PHP.

Źródła:

www.php.net
michalg @ 04-07-2006 18:03
Brak komentarzy...
Copyright © 2005-2006 Compzone.Org. Kopiowanie i wykorzystywanie materiałów zawartych na tej stronie bez zgody autora zabronione!