我正在尋找迭代通過一個文件夾的最佳方式,並將其中的所有文件名稱放入一個數組,並在另一個文件的計數。遍歷文件夾?
我發現3210是一個很好的解決方案,但在php.net上也有很多替代方案。我不確定我應該使用哪一個,所以我在這裏問。如果您想知道我想要使用它,那麼請將.sql
文件放在backup
文件夾中,並將它們顯示爲<li>thesqlfile.sql</li>
,並將它們全部計數。
所以我想到有兩個數組,一個是他們的名字,一個是他們所有人的數目。那麼在這種情況下哪種方法最適合迭代?
方法一:
<?php
$files = array();
foreach (glob("backup/*.txt") as $filename) {
$files[]= $filename;
}
$count = sizeof($files);
?>
方法二:
function getfoldercontents($dir, $file_display = array(), $exclusions = array()) {
if(!file_exists($dir)){
return FALSE;
}
$dir_contents = scandir($dir);
$contents = array();
foreach ($dir_contents as $file){
$file_parts = explode('.', $file);
$file_type = strtolower(end($file_parts));
if ($file !== '.' && $file !== '..' && in_array($file_type, $file_display) && !in_array($file, $exclusions)) {
$contents[] = $dir. '/'. $file;
}
}
return $contents;
}
如果**只是需要文件名,可以使用array_map('basename',$ files)'。 – salathe 2012-02-01 14:03:08