您的位置:首页 > 编程语言 > PHP开发

PHP中获取目录及子目录下的所有文件路径和目录路径

2017-03-15 00:00 627 查看
<?php
/* *
* Created on
***************************************
* 开发者:小虎
* 联系QQ:529901956
***************************************
*/

/*
function get_allfiles($path, &$files) {
if(is_dir($path)){
$dp = dir($path);
while ($file = $dp ->read()){
if(!in_array($file, array(".", ".."))){
$files[] = $path."/".$file;
get_allfiles($path."/".$file, $files);
}
}
$dp ->close();
}
if(file_exists($path)){
$files[] =  $path;
}
}

function get_filenamesbydir($dir){
$files =  array();
get_allfiles($dir, $files);
$files = array_unique($files);
return $files;
}

$filenames = get_filenamesbydir("E:\Youku Files");
//打印所有文件名,包括路径
foreach ($filenames as $value) {
echo $value."\n";
}

*/

function searchFile($path, &$file_array, &$folder_array, &$all_array){
if(is_dir($path)){  //检查文件目录是否存在
$H = @ opendir($path);
while(false !== ($_file=readdir($H))){
//检索目录
if(is_dir($path."/".$_file) && !in_array($_file, array(".", "..", "Thumbs.db")))
{
array_push($folder_array, $path."/".$_file);
array_push($all_array, $path."/".$_file);
searchFile($path."/".$_file, $file_array, $folder_array, $all_array);
//检索文件
}
elseif(file_exists($path."/".$_file) && !in_array($_file, array(".", "..", "Thumbs.db")))
{
array_push($file_array,$path."/".$_file);
array_push($all_array, $path."/".$_file);
}
}
closedir($H);
}elseif(file_exists($path)){
array_push($file_array, $path);
array_push($all_array, $path);
}
}

$file_array=array(); //存放文件名数组
$folder_array=array(); //存放目录名数组
$all_array=array(); //存放全部路径的数组
searchFile('E:\Youku Files', $file_array, $folder_array, $all_array);
foreach ($all_array as $value) {
echo $value."\n";
}
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: