<?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;
}
|