- Home
- Categorie
- Coding e Sistemistica
- PHP
- Elencare tutti i file presenti in una cartella
-
Elencare tutti i file presenti in una cartella
Ciao a tutti
ho trovato questo script (che funziona) per elencare tutte le foto che ho in una cartella. Il file si trova nella stessa cartella delle immagini.function elencafiles($dirname,$arrayext){ $arrayfiles=Array(); if(file_exists($dirname)){ $handle = opendir($dirname); while (false !== ($file = readdir($handle))) { if(is_file($dirname.$file)){ $ext = strtolower(substr($file, strrpos($file, "."), strlen($file)-strrpos($file, "."))); if(in_array($ext,$arrayext)){ array_push($arrayfiles,$file); } } } $handle = closedir($handle); } sort($arrayfiles); return $arrayfiles; } $array_extimg=array('.jpg','.jpeg','.JPG'); $arrayfile=array(); $arrayfile=elencafiles("**qui va il nome della cartella**(es "cartella/")",$array_extimg); foreach ($arrayfile as $m) { echo '<a href="'.$m.'" rel="lightbox[group]"><img src="'.$m.'" alt=""></a>'; }
Il problema è che il file si trova nella stessa cartella. Come faccio ad indicare stessa cartella in cui è il file invece di un normale nome?
Grazie
-
L' ho risolto usando la funzione getcwd()
Vi lascio il codice
$stringa= getcwd(); $stringa= '**'.$stringa.'/**'; $stringa2= str_replace ("/home/public_html/","",$stringa); $arrayfile=elencafiles(**$stringa**,$array_extimg); foreach ($arrayfile as $m) { echo '<a href="'.$urlsito.''.$stringa2.''.$m.'" rel="lightbox[group]"><img src="'.$urlsito.''.$stringa2.''.$m.'" alt=""></a>'; }
-
Perchè non usi un più semplice h t t p : //it.php.net/glob ?
-
Sì è esattamente quello che volevo, mi risparmia l' uso della funzione
Se volessi inserire più di un formato possibile?
Ora il codice semplice che uso è:
[PHP]foreach ( glob("*.jpg") as $m) {
echo '<img src="'.$urlsito.''.$tutti[$id]['nomeurl'].'/'.$m.'" alt="">';
}[/PHP]Se volessi inserire anche i file .jpeg e .JPG come faccio?