PHP 遍历文件实现代码
前端之家收集整理的这篇文章主要介绍了
PHP 遍历文件实现代码,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
<div class="codetitle"><a style="CURSOR: pointer" data="48667" class="copybut" id="copybut48667" onclick="doCopy('code48667')"> 代码如下:
<div class="codebody" id="code48667">
function Files($path)
{
foreach(scandir($path) as $line)
{
if($line=='.'||$line=='..') continue;
if(is_dir($path.'/'.$line)) Files($path.'/'.$line);
else echo '
'.$path.'/'.$line.'';
}
}
加入给定
文件夹 C:\Windows\AppPatch
1.首先
获取这个
文件夹下面的所有东西,也就是
文件,
文件夹,放一个数组里面
$fileArr = array(
'files' => array(),//
文件放一个数组
'dirs' => array(),//
文件夹放一个数组
)
2.如果存在子
文件夹,遍历子
文件夹,
获取文件夹和
文件,同样放进那个数组,如此循环,一个不漏
<div class="codetitle">
<a style="CURSOR: pointer" data="40381" class="copybut" id="copybut40381" onclick="doCopy('code40381')"> 代码如下: <div class="codebody" id="code
40381">
<?
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 '
';
var_dump($p);
echo '
';
?>
PHP遍历一个
文件夹下的所有目录及
文件 在面试中我们经常遇到这个题目:
PHP遍历一个
文件夹下的所有
文件和子
文件夹。
这个题目有好多种
解决方法。但大致思路都一样。采用递归。
<div class="codetitle">
<a style="CURSOR: pointer" data="18355" class="copybut" id="copybut18355" onclick="doCopy('code18355')"> 代码如下: <div class="codebody" id="code18355">
$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 '
';
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 '
';
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 '
';
function get_dir_glob(){
$tree = array();
foreach(glob('./curl/
') as $single){
echo $single."\r\n";
}
}
get_dir_glob();
echo '
';
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 '
';
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);