php遍歷所有文件及文件夾的方法深入解析
更新時間:2013年06月08日 10:38:43 作者:
本篇文章是對php遍歷所有文件及文件夾的方法進行了詳細的分析介紹,需要的朋友參考下
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>";
}
?>
復制代碼 代碼如下:
<?
$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>";
}
?>
相關(guān)文章
PHP strip_tags()去除HTML、XML以及PHP的標簽介紹
這篇文章主要介紹了PHP strip_tags()去除HTML、XML以及PHP的標簽介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-02-02
php基于Fleaphp框架實現(xiàn)cvs數(shù)據(jù)導入MySQL的方法
這篇文章主要介紹了php基于Fleaphp框架實現(xiàn)cvs數(shù)據(jù)導入MySQL的方法,涉及PHP基于Fleaphp框架針對cvs文件的讀取及數(shù)據(jù)庫操作相關(guān)技巧,需要的朋友可以參考下2016-02-02
phpmyadmin顯示utf8_general_ci中文亂碼的問題終級篇
自己寫PHP也有一年多了,然后編碼問題卻老是沒有得到好的解決,自己的情況是這樣的,網(wǎng)頁顯示完全正常,在phpmyadmin數(shù)據(jù)庫顯示中文亂碼,不管是簡體還是繁體,只要是中文都是亂碼2013-04-04
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的
這篇文章主要介紹了php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解決方法,是使用ZipArchive時經(jīng)常會遇到的問題,需要的朋友可以參考下2014-11-11

