php中遍历所有文件,PHP - 遍历目录并获取所有文件(图像)的代码

/**

* function get files

* @param $path string = path to fine files in

* @param $accept array = array of extensions to accept

* @param currentLevel = 0, stopLevel = 0

* @return array of madmanFile objects, but you can modify it to

* return whatever suits your needs.

*/

public static function getFiles( $path = '.', $accept, $currentLevel = 0, $stopLevel = 0){

$path = trim($path); //trim whitespcae if any

if(substr($path,-1)=='/'){$path = substr($path,0,-1);} //cutoff the last "/" on path if provided

$selectedFiles = array();

try{

//ignore these files/folders

$ignoreRegexp = "/.(T|t)rash/";

$ignore = array( 'cgi-bin', '.', '..', '.svn');

$dh = @opendir( $path );

//Loop through the directory

while( false !== ( $file = readdir( $dh ) ) ){

// Check that this file is not to be ignored

if( !in_array( $file, $ignore ) and !preg_match($ignoreRegexp,$file)){

$spaces = str_repeat( ' ', ( $currentLevel * 4 ) );

// Its a directory, so we need to keep reading down...

if( is_dir( "$path/$file" ) ){

//merge current selectFiles array with recursion return which is

//another array of selectedFiles

$selectedFiles = array_merge($selectedFiles,MadmanFileManager::getFiles( "$path/$file", $accept, ($currentLe$

} else{

$info = pathinfo($file);

if(in_array($info['extension'], $accept)){

$selectedFiles[] = new MadmanFile($info['filename'], $info['extension'], MadmanFileManager::getSize($

}//end if in array

}//end if/else is_dir

}

}//end while

closedir( $dh );

// Close the directory handle

}catch (Exception $e){

echo 'Caught exception: ', $e->getMessage(), "n";

}

return $selectedFiles;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值