微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.'
  • ';
    }
    }

    PHP遍历文件文件

    加入给定文件夹 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="code40381">
    <?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);

    版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

    PHP遍历文件

    相关推荐