2011-12-07 5 views

risposta

12

È certamente possibile. Dai uno sguardo a the documentation for opendir e invia ogni file ad un array di risultati. Se stai utilizzando PHP5, dai un'occhiata a DirectoryIterator. È un modo molto più fluido e pulito per attraversare il contenuto di una directory!

EDIT: Sulla opendir:

$dir = "/etc/php5/"; 

// Open a known directory, and proceed to read its contents 
if (is_dir($dir)) { 
    if ($dh = opendir($dir)) { 
     $images = array(); 

     while (($file = readdir($dh)) !== false) { 
      if (!is_dir($dir.$file)) { 
       $images[] = $file; 
      } 
     } 

     closedir($dh); 

     print_r($images); 
    } 
} 
+0

che funziona grazie a sir sacco! –

+0

@HammadKhalid contrassegna il mio messaggio come risposta, quindi :) – Leonard

4

glob in php - Trova percorsi corrispondenti ad un modello

<?php 
    //path to directory to scan 
    $directory = "../images/team/harry/"; 
    //get all image files with a .jpg extension. This way you can add extension parser 
    $images = glob($directory . "{*.jpg,*.gif}", GLOB_BRACE); 
    $listImages=array(); 
    foreach($images as $image){ 
     $listImages=$image; 
    } 
?> 
5

'scandir' fa questo:

$images = scandir($dir); 
+0

scandir è più sicuro di glob perché la directory può contenere caratteri di espressioni regolari – jscripter

+2

Perché questa non è la risposta accettata ?! Bella una fodera. – elbowlobstercowstand

+0

restituisce anche "." e ".." un modo migliore di saltarlo in loop? – arslion

5

uno di linea: -

$arr = glob("*.{jpg,gif,png,bmp}", GLOB_BRACE) 
+0

funzionerebbe con una dir con parentesi? – jscripter