Qui segue un piccolo e semplice script per esplorare le cartelle del vostro pc o server
<?php
$dirbase='/var/www/html/sito/'.$_GET['DIR'];
$comando = shell_exec("ls --file-type ".$dirbase);
$righa=explode("\n",$comando);
$conta=(count($righa))-1;
for($i=0;$i<$conta;$i++)
{
if((substr($righa[$i], -1, strlen($righa[$i])))=='/')
echo '<li><a href="?DIR='.$_GET['DIR'].$righa[$i].'">'.$righa[$i].'</a></li>';
else
echo '<li>'.$righa[$i].'</li>';
}
?>
E quest'ultimo esempio mostra come navigare tra le cartelle.
Spiegazione Codice:
Assegnamo a
$dirbase il valore della cartella principale.
$dirbase='/var/www/html/sito/'.$_GET['DIR'];
Usiamo
shell_exec() per effettuare un
ls --file-type $dirbase assegnando il risultato a $comando.
Poi usando
explode("\n",$comando) seperiamo la stringa $comando ad ogni
\n che incontra ( \n = indica il "a capo" in php ) creando un
array.
$comando = shell_exec("ls --file-type ".$dirbase);
$righa=explode("\n",$comando);
$conta=(count($righa))-1;
Quest'ultima parte e' abbastanza chiara.
Usiamo un
for per stampare ogni singola stringa del
array prima creato.
Aggiungendo un
if controlliamo l'ultimo carattere: se termina con uno
/ (slash) ,
Directory, mettiamo il link.
for($i=0;$i<$conta;$i++)
{
if((substr($righa[$i], -1, strlen($righa[$i])))=='/')
echo '<li><a href="?DIR='.$_GET['DIR'].$righa[$i].'">'.$righa[$i].'</a></li>';
else
echo '<li>'.$righa[$i].'</li>';
}
Questo e' quanto.
Ciao!