PHP 遍歷文件實現(xiàn)代碼
更新時間:2011年05月04日 01:05:28 作者:
小筆記, PHP 遍歷所有文件, 包括子目錄中的文件. 和壓縮文件的類結(jié)合起來的話, 就可以打包整個目錄了.
復(fù)制代碼 代碼如下:
function Files($path)
{
foreach(scandir($path) as $line)
{
if($line=='.'||$line=='..') continue;
if(is_dir($path.'/'.$line)) Files($path.'/'.$line);
else echo '<li>'.$path.'/'.$line.'</li>';
}
}
PHP遍歷文件及文件夾
加入給定文件夾 C:\\Windows\\AppPatch
1.首先獲取這個文件夾下面的所有東西,也就是文件,文件夾,放一個數(shù)組里面
$fileArr = array(
'files' => array(), //文件放一個數(shù)組
'dirs' => array(), //文件夾放一個數(shù)組
)
2.如果存在子文件夾,遍歷子文件夾,獲取文件夾和文件,同樣放進那個數(shù)組,如此循環(huán),一個不漏
復(fù)制代碼 代碼如下:
<?php
$dir = 'F:\\game';
function read_dir_all($dir) {
$ret = array('dirs'=>array(), 'files'=>array());
if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if($file != '.' && $file !== '..') {
$cur_path = $dir . DIRECTORY_SEPARATOR . $file;
if(is_dir($cur_path)) {
$ret['dirs'][$cur_path] = read_dir_all($cur_path);
} else {
$ret['files'][] = $cur_path;
}
}
}
closedir($handle);
}
return $ret;
}
$p = read_dir_all($dir);
echo '<pre>';
var_dump($p);
echo '</pre>';
?>
php遍歷一個文件夾下的所有目錄及文件
在面試中我們經(jīng)常遇到這個題目:php遍歷一個文件夾下的所有文件和子文件夾。
這個題目有好多種解決方法。但大致思路都一樣。采用遞歸。
復(fù)制代碼 代碼如下:
$path = './filepath';
function getfiles($path)
{
if(!is_dir($path)) return;
$handle = opendir($path);
while( false !== ($file = readdir($handle)))
{
if($file != '.' && $file!='..')
{
$path2= $path.'/'.$file;
if(is_dir($path2))
{
echo ' ';
echo $file;
getfiles($path2);
}else
{
echo ' ';
echo $file;
}
}
}
}
print_r( getfiles($path));
echo '<HR>';
function getdir($path)
{
if(!is_dir($path)) return;
$handle = dir($path);
while($file=$handle->read())
{
if($file!='.' && $file!='..')
{
$path2 = $path.'/'.$file;
if(is_dir($path2))
{
echo $file."\t";
getdir($path2);
}else
{
echo $file.' ';
}
}
}
}
getdir($path);
echo '<HR>';
function get_dir_scandir($path){
$tree = array();
foreach(scandir($path) as $single){
if($single!='.' && $single!='..')
{
$path2 = $path.'/'.$single;
if(is_dir($path2))
{
echo $single."\r\n";
get_dir_scandir($path2);
}else
{
echo $single."\r\n";
}
}
}
}
get_dir_scandir($path);
echo '
<HR>';
function get_dir_glob(){
$tree = array();
foreach(glob('./curl/*') as $single){
echo $single."\r\n";
}
}
get_dir_glob();
echo '
<HR>';
function myscandir($path)
{
if(!is_dir($path)) return;
foreach(scandir($path) as $file)
{
if($file!='.' && $file!='..')
{
$path2= $path.'/'.$file;
if(is_dir($path2))
{
echo $file;
myscandir($path2);
}else
{
echo $file.' ';
}
}
}
}
myscandir($path);
echo '<HR>';
function myglob($path)
{
$path_pattern = $path.'/*';
foreach(glob($path_pattern) as $file)
{
if(is_dir($file))
{
echo $file;
myscandir($file);
}else
{
echo $file.' ';
}
}
}
myglob($path);
相關(guān)文章
PHP實現(xiàn)獲取ip地址的5種方法,以及插入用戶登錄日志操作示例
這篇文章主要介紹了PHP實現(xiàn)獲取ip地址的5種方法,以及插入用戶登錄日志操作,結(jié)合實例形式總結(jié)分析了php獲取訪客IP地址的5種常見操作方法,以及將用戶登陸信息寫入登陸日志數(shù)據(jù)庫相關(guān)操作技巧,需要的朋友可以參考下2019-02-02
字符串長度函數(shù)strlen和mb_strlen的區(qū)別示例介紹
strlen和mb_strlen的區(qū)別,但是對于一些初學(xué)者來說,如果不看手冊,也許不太清楚其中的區(qū)別,下面與大家分享下兩者之間的區(qū)別2014-09-09
php/JS實現(xiàn)的生成隨機密碼(驗證碼)功能示例
這篇文章主要介紹了php/JS實現(xiàn)的生成隨機密碼(驗證碼)功能,結(jié)合實例形式分析了php與javascript隨機字符串生成相關(guān)的字符串遍歷、隨機數(shù)生成、編碼轉(zhuǎn)換等操作技巧,需要的朋友可以參考下2019-06-06

