Logo Session-Start.com
!!! SESSION-START VERSIONE BETA TEST !!!

Naviga tra le cartelle con shell_exec()

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!

data: 16-11-2009
Letto: 793 volte
Scritto da Bibi
Nome: Pietro
Cognome: F
Email: bibi@buon-viaggio.de
Commenti

Nessun commento
Sei vuoi inserire un commento effatua il login, se non sei registrato fallo qui