domenica 27 Settembre 2020

Download in corso

Softwareone.it

11-01-2019

opendir() leggere il contenuto di una cartella in PHP

La funzione opendir() apre un handle di directory e permette di visualizzare un elenco dei file e delle sottocartelle contenuti in $base.

In questo esempio ciascun nome di file visualizzato è collegato con un link al file stesso.

Pubblicità

Le immagini dei file e delle cartelle devono essere nella directory foto/

function elenco_dir($base)
{
$dir_vuota=1; #Flag per il controllo della directory vuota
if ($handle_dir = opendir($base)) # Apre la directory, e verifica che il percorso sia corretto
{
	echo "<UL class=\"testo\">\n"; 
  while (false!==($dir = readdir($handle_dir))) #Legge una voce del finchè non è finita la directory, e la memorizza in $dir
  {
    if ($dir!="." && $dir!="..") #Evita di stampare "." e ".."
    {
	  $dir_vuota=0;
		  if(is_dir($base. "/" .$dir))
		  {
     	  #Codice nel caso di directory
	      echo '<LI style="list-style-image: url(foto/cartella.gif)"><B>' . $dir . "</B>\n";
	      elenco_dir($base. "/" .$dir); 
	  	 	echo "</LI>\n";
      }
	   else
	    {
	      #Codice nel caso di file
  	  #Evita di stampare alcuni tipi di file
	#Elimina l'estensione dei file, qualunque sia la sua lunghezza, e anche se compaiono altri punti nel nome del file
	 if ($dir != "." && $dir != ".." && $dir != "file_da_non_mostrare.est" && substr($dir,-3,3) != "estensione_da_non_mostrare")
        {
	echo '<LI style="list-style-image: url(foto/file.gif)"><A href="' .$base . '/' . $dir . '">' . str_replace('_', ' ', substr($dir,0, strrpos($dir,"."))) . "</A></LI>\n";
			  }
      }
    }
  }
if ($dir_vuota==1) echo '<LI class="testo" style="list-style-image: url(foto/sbagliato.gif)">Nessun file presente</LI>';	
  echo "</UL><BR>";	
  closedir($handle_dir);
}
else #Codice nel caso di percorso non trovato
{
  echo "Percorso errato";
}
}	

#Chiamata della funzione come esempio
elenco_dir(".");

Esempio


https://www.php.net/manual/en/function.opendir.php

Lascia un commento

Pubblicità