<?php
/**
* PHP中列出目錄中的目錄和文件的幾種方法
*/
//兼容PHP4和PHP5的寫法
/**
* 獲取文件目錄
*/
public function getFileList($directory){
$files = [];
if(!is_dir($directory)){
throw new CustomException('文件路徑不是目錄!');
}
if($dh = opendir($directory)){
while($file = readdir($dh) !== false){
if($file != '.' && $file != '..'){
$files[] = $file;
}
}
closedir($dh);
}
return $files;
}
//PHP5中的簡單方法
function getFileList2($directory) {
$files = array();
if(is_dir($directory)) {
if($files = scandir($directory)) {
$files = array_slice($files,2);
}
}
return $files;
}
//使用PHP5面向對象的寫法
function getFileList3($directory) {
$files = array();
try {
$dir = new DirectoryIterator($directory);
} catch (Exception $e) {
throw new Exception($directory . ' is not readable');
}
foreach($dir as $file) {
if($file->isDot()) continue;
$files[] = $file->getFileName();
}
return $files;
}
個人code: [並不能獲取目錄下目錄的文件, 應該調整爲遞歸調用] TBD
/**
* [CAN_POST]
* 查看目錄
*/
public function getFileList($directory = 'data1/www/test.gzm.oa.com') {
$files = [];
if(is_dir($directory)) {
if($dh = opendir($directory)) {
while(($file = readdir($dh)) !== false) {
if($file != '.' && $file != '..') {
$files[] = $file;
}
}
closedir($dh);
}
}
return $files;
}
|