您現在的位置是:網站首頁>PHPphp獲取目錄下所有文件及目錄的方法
php獲取目錄下所有文件及目錄的方法
宸宸2024-02-23【PHP】255人已圍觀
我們幫大家精選了相關的編程文章,網友戈以柳根據主題投稿了本篇教程內容,涉及到php、獲取目錄、php獲取目錄下所有文件及目錄(多種方法)(推薦)相關內容,已被203網友關注,涉獵到的知識點內容可以在下方電子書獲得。
php獲取目錄下所有文件及目錄(多種方法)(推薦)
獲取某目錄下所有子文件和子目錄
function getDirContent($path){
if(!is_dir($path)){
return false;
}
//readdir方法
/* $dir = opendir($path);
$arr = array();
while($content = readdir($dir)){
if($content != '.' && $content != '..'){
$arr[] = $content;
}
}
closedir($dir); */
//scandir方法
$arr = array();
$data = scandir($path);
foreach ($data as $value){
if($value != '.' && $value != '..'){
$arr[] = $value;
}
}
return $arr;
}
下麪介紹的三種方法,是獲取某個目錄下所有的目錄(包括子目錄,子孫目錄)和文件,直到最裡層
方法一
function searchDir($path,&$files){
if(is_dir($path)){
$opendir = opendir($path);
while ($file = readdir($opendir)){
if($file != '.' && $file != '..'){
searchDir($path.'/'.$file, $files);
}
}
closedir($opendir);
}
if(!is_dir($path)){
$files[] = $path;
}
}
//得到目錄名
function getDir($dir){
$files = array();
searchDir($dir, $files);
return $files;
}
$filenames = getDir('lss');
foreach ($filenames as $value){
echo $value.'<br/>';
}
方法二:
function getDir($path){
if(is_dir($path)){
$dir = scandir($path);
foreach ($dir as $value){
$sub_path =$path .'/'.$value;
if($value == '.' || $value == '..'){
continue;
}else if(is_dir($sub_path)){
echo '目錄名:'.$value .'<br/>';
getDir($sub_path);
}else{
//.$path 可以省略,直接輸出文件名
echo ' 最底層文件: '.$path. ':'.$value.' <hr/>';
}
}
}
}
$path = 'lss';
getDir($path);
方法三:
function getDir($path){
$arr = array();
$arr[] = $path;
if(is_file($path)){
}else{
if(is_dir($path)){
$data = scandir($path);
if(!empty($data)){
foreach ($data as $value){
if($value != '.' && $value != '..'){
$sub_path = $path."/".$value;
$temp = getDirContent($sub_path);
$arr = array_merge($temp,$arr);
}
}
}
}
}
return $arr;
}
$path = 'lss';
var_dump(getDir($path));
以上所述是小編給大家介紹的php獲取目錄下所有文件及目錄多種方法詳解整郃,希望對大家有所幫助,如果大家有任何疑問請給我畱言,小編會及時廻複大家的。在此也非常感謝大家對碼辳之家網站的支持!
