• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP 遍历文件实现代码_php技巧

php 搞代码 3年前 (2022-01-26) 20次浏览 已收录 0个评论
 <BR>function Files($path) <BR>{ <BR>foreach(scandir($path) as $line) <BR>{ <BR>if($line=='.'||$line=='..') continue; <BR>if(is_dir($path.'/'.$line)) Files($path.'/'.$line); <BR>else echo '<li>'.$path.'/'.$line.'</li>'; <BR>} <BR>} <BR>


PHP遍历文件及文件夹
加入给定文件夹 C:\\Windows\\AppPatch
1.首先获取这个文件夹下面的所有东西,也就是文件,文件夹,放一个数组里面
$fileArr = array(
‘files’ => array(), //文件放一个数组
‘dirs’ => array(), //文件夹放一个数组
)
2.如果存在子文件夹,遍历子文件夹,获取文件夹和文件,同样放进那个数组,如此循环,一个不漏

 <BR><?php <BR>$dir = 'F:\\game'; <BR>function read_dir_all($dir) { <BR>$ret = array('dirs'=>array(), 'files'=>array()); <BR>if ($handle = opendir($dir)) { <BR>while (false !== ($file = readdir($handle))) { <BR>if($file != '.' && $file !== '..') { <BR>$cur_path = $dir . DIRECTORY_SEPARATOR . $file; <BR>if(is_dir($cur_path)) { <BR>$ret['dirs'][$cur_path] = read_dir_all($cur_path); <BR>} else { <BR>$ret['files'][] = $cur_path; <BR>} <BR>} <BR>} <BR>closedir($handle); <BR>} <BR>return $ret; <BR>} <BR>$p = read_dir_all($dir); <BR>echo '<pre class="prettyprint linenums">'; <BR>var_dump($p); <BR>echo '

‘;
?>

php遍历一个文件夹下的所有目录及文件
在面试中我们经常遇到这个题目:php遍历一个文件夹下的所有文件和子文件夹。
  这个题目有好多种解决方法。但大致思路都一样。采用递归。

 <BR>$path = './filepath'; <BR>function getfiles($path) <BR>{ <BR>if(!is_dir($path)) return; <BR>$handle = opendir($path); <BR>while( false !== ($file = readdir($handle))) <BR>{ <BR>if($file != '.' && $file!='..') <BR>{ <BR>$path2= $path.'/<a style="color:transparent">本@文来源gao($daima.com搞@代@#码(网5</a><strong>搞gaodaima代码</strong>'.$file; <BR>if(is_dir($path2)) <BR>{ <BR>echo ' '; <BR>echo $file; <BR>getfiles($path2); <BR>}else <BR>{ <BR>echo ' '; <BR>echo $file; <BR>} <BR>} <BR>} <BR>} <BR>print_r( getfiles($path)); <BR>echo '<HR>'; <BR>function getdir($path) <BR>{ <BR>if(!is_dir($path)) return; <BR>$handle = dir($path); <BR>while($file=$handle->read()) <BR>{ <BR>if($file!='.' && $file!='..') <BR>{ <BR>$path2 = $path.'/'.$file; <BR>if(is_dir($path2)) <BR>{ <BR>echo $file."\t"; <BR>getdir($path2); <BR>}else <BR>{ <BR>echo $file.' '; <BR>} <BR>} <BR>} <BR>} <BR>getdir($path); <BR>echo '<HR>'; <BR>function get_dir_scandir($path){ <BR>$tree = array(); <BR>foreach(scandir($path) as $single){ <BR>if($single!='.' && $single!='..') <BR>{ <BR>$path2 = $path.'/'.$single; <BR>if(is_dir($path2)) <BR>{ <BR>echo $single."\r\n"; <BR>get_dir_scandir($path2); <BR>}else <BR>{ <BR>echo $single."\r\n"; <BR>} <BR>} <BR>} <BR>} <BR>get_dir_scandir($path); <BR>echo ' <BR><HR>'; <BR>function get_dir_glob(){ <BR>$tree = array(); <BR>foreach(glob('./curl/*') as $single){ <BR>echo $single."\r\n"; <BR>} <BR>} <BR>get_dir_glob(); <BR>echo ' <BR><HR>'; <BR>function myscandir($path) <BR>{ <BR>if(!is_dir($path)) return; <BR>foreach(scandir($path) as $file) <BR>{ <BR>if($file!='.' && $file!='..') <BR>{ <BR>$path2= $path.'/'.$file; <BR>if(is_dir($path2)) <BR>{ <BR>echo $file; <BR>myscandir($path2); <BR>}else <BR>{ <BR>echo $file.' '; <BR>} <BR>} <BR>} <BR>} <BR>myscandir($path); <BR>echo '<HR>'; <BR>function myglob($path) <BR>{ <BR>$path_pattern = $path.'/*'; <BR>foreach(glob($path_pattern) as $file) <BR>{ <BR>if(is_dir($file)) <BR>{ <BR>echo $file; <BR>myscandir($file); <BR>}else <BR>{ <BR>echo $file.' '; <BR>} <BR>} <BR>} <BR>myglob($path); <BR>

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP 遍历文件实现代码_php技巧
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址