php遍歷所有文件及文件夾的方法深入解析
更新時(shí)間:2013年06月08日 10:38:43 作者:
本篇文章是對php遍歷所有文件及文件夾的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
1.方法一:
<?
$dir="D:";
static $dir_list =0;
static $file_list =0;
function listfile($dir){
global $dir_list,$file_list;
$d = dir($dir);
while ( $entry = $d->read()) {
$tem_curnt=$dir."/".$entry;
if($entry=="." || $entry=="..") continue;
if ( is_dir( $tem_curnt)) {
listfile($tem_curnt);
echo "文件夾 ".$tem_curnt."<br>";
$dir_list++;
}
elseif ( is_file($tem_curnt)) {
echo "文件".$tem_curnt."<BR>";
$file_list++;
}
}
$d->close();
}
listfile($dir);
echo "目錄數(shù):".$dir_list;
echo"<br>";
echo"文件數(shù):".$file_list;
?>
2.方法二:
<?php
function list_dir($dirpath){
if($dirpath[strlen($dirpath)]-1!='/'){
$dirpath.="/";
}
static $result_array=array();
if(is_dir($dirpath)){
$files_dirs=scandir($dirpath);
foreach($files_dirs as $file){
if($file=='.'||$file=='..'){continue;}
if(is_dir($dirpath.$file)){
list_dir($dirpath.$file);
}else{
array_push($result_array,$dirpath.$file);
}
}
}
return $result_array;
}
$array=list_dir('D:/www');
foreach($array as $value){
echo $value;
echo "<br>";
}
?>
3.方法三:
<?php
function list_dir($dirpath){
if($dirpath[strlen($dirpath)-1]!="http://"){$dirpath.="http://";}
static $result_array=array();
if(is_dir($dirpath)){
$handle=opendir($dirpath);
while($file=readdir($handle)){
if($file=="."||$file==".."){continue;}
if(is_dir($dirpath.$file)){
list_dir($dirpath.$file."http://");
}else{
array_push($result_array,$dirpath.$file);
}
}
closedir($handle);
}
return $result_array;
}
$array=list_dir("D:/www");
foreach($array as $value){
echo $value;
echo "<br>";
}
?>
4.方法四:
<?php
function list_dir($dirpath){
if($dirpath[strlen($dirpath)-1]!="http://"){$dirpath.="http://";}
static $result_array=array();
if(is_dir($dirpath)){
$dir=dir($dirpath);
while($file=$dir->read()){
if($file=="."||$file==".."){continue;}
if(is_dir($dirpath.$file)){
list_dir($dirpath.$file."http://");
}else{
array_push($result_array,$dirpath.$file);
}
}
$dir->close();
}
return $result_array;
}
$array=list_dir("D:/www");
foreach($array as $value){
echo $value;
echo "<br>";
}
?>
復(fù)制代碼 代碼如下:
<?
$dir="D:";
static $dir_list =0;
static $file_list =0;
function listfile($dir){
global $dir_list,$file_list;
$d = dir($dir);
while ( $entry = $d->read()) {
$tem_curnt=$dir."/".$entry;
if($entry=="." || $entry=="..") continue;
if ( is_dir( $tem_curnt)) {
listfile($tem_curnt);
echo "文件夾 ".$tem_curnt."<br>";
$dir_list++;
}
elseif ( is_file($tem_curnt)) {
echo "文件".$tem_curnt."<BR>";
$file_list++;
}
}
$d->close();
}
listfile($dir);
echo "目錄數(shù):".$dir_list;
echo"<br>";
echo"文件數(shù):".$file_list;
?>
2.方法二:
復(fù)制代碼 代碼如下:
<?php
function list_dir($dirpath){
if($dirpath[strlen($dirpath)]-1!='/'){
$dirpath.="/";
}
static $result_array=array();
if(is_dir($dirpath)){
$files_dirs=scandir($dirpath);
foreach($files_dirs as $file){
if($file=='.'||$file=='..'){continue;}
if(is_dir($dirpath.$file)){
list_dir($dirpath.$file);
}else{
array_push($result_array,$dirpath.$file);
}
}
}
return $result_array;
}
$array=list_dir('D:/www');
foreach($array as $value){
echo $value;
echo "<br>";
}
?>
3.方法三:
復(fù)制代碼 代碼如下:
<?php
function list_dir($dirpath){
if($dirpath[strlen($dirpath)-1]!="http://"){$dirpath.="http://";}
static $result_array=array();
if(is_dir($dirpath)){
$handle=opendir($dirpath);
while($file=readdir($handle)){
if($file=="."||$file==".."){continue;}
if(is_dir($dirpath.$file)){
list_dir($dirpath.$file."http://");
}else{
array_push($result_array,$dirpath.$file);
}
}
closedir($handle);
}
return $result_array;
}
$array=list_dir("D:/www");
foreach($array as $value){
echo $value;
echo "<br>";
}
?>
4.方法四:
復(fù)制代碼 代碼如下:
<?php
function list_dir($dirpath){
if($dirpath[strlen($dirpath)-1]!="http://"){$dirpath.="http://";}
static $result_array=array();
if(is_dir($dirpath)){
$dir=dir($dirpath);
while($file=$dir->read()){
if($file=="."||$file==".."){continue;}
if(is_dir($dirpath.$file)){
list_dir($dirpath.$file."http://");
}else{
array_push($result_array,$dirpath.$file);
}
}
$dir->close();
}
return $result_array;
}
$array=list_dir("D:/www");
foreach($array as $value){
echo $value;
echo "<br>";
}
?>
您可能感興趣的文章:
相關(guān)文章
PHP網(wǎng)站基礎(chǔ)優(yōu)化方法小結(jié)
以下這些基礎(chǔ)技巧可以讓你的PHP網(wǎng)站運(yùn)行得更快一些。2008-09-09PHP ADODB實(shí)現(xiàn)分頁功能簡單示例
這篇文章主要介紹了PHP ADODB實(shí)現(xiàn)分頁功能,結(jié)合實(shí)例形式分析了php使用ADODB實(shí)現(xiàn)分頁功能相關(guān)操作技巧,需要的朋友可以參考下2018-05-05PHP圖片處理之圖片旋轉(zhuǎn)和圖片翻轉(zhuǎn)實(shí)例
這篇文章主要介紹了PHP圖片處理之圖片旋轉(zhuǎn)和圖片翻轉(zhuǎn)實(shí)例,本文使用imagerotate函數(shù)實(shí)現(xiàn),自定義了多個(gè)函數(shù)來實(shí)現(xiàn)功能需求,需要的朋友可以參考下2014-11-11php記錄代碼執(zhí)行時(shí)間(實(shí)現(xiàn)代碼)
本篇文章是對php記錄代碼執(zhí)行時(shí)間的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以參考下2013-07-07PHP實(shí)現(xiàn)分布式memcache設(shè)置web集群session同步的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)分布式memcache設(shè)置web集群session同步的方法,結(jié)合實(shí)例形式分析了php設(shè)置與使用memcache實(shí)現(xiàn)web集群session同步的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-04-04