php读取目录及子目录下所有文件名的方法

<span style="background-color: rgb(247, 252, 255); font-family: Tahoma, Helvetica, Arial, 宋体, sans-serif; line-height: 25.200000762939453px;"></span>

本文实例讲述了php读取目录及子目录下所有文件名的方法,分享给大家供大家参考。具体实现方法如下:

一般来说php中读取目录下的文件名的方式确实不少,

1.最简单的是scandir,具体代码如下:

复制代码代码如下:
$dir="./caxa/";
$file=scandir($dir);
print_r($file);

2.稍微复杂点的,

 //要读取的目录
 $folder="H:/temp";
 //打开目录
$fp=opendir($folder);
 //阅读目录
while(false!=($file=readdir($fp)))
{
//列出所有文件并去掉'.'和'..'
    if($file!='.' &&$file!='..')
    {
        //$file="$folder/$file";
        $file="$file";
        //赋值给数组
        $arr_file[]=$file;
        }
}
 //输出结果
 if(is_array($arr_file))
 {
    while(list($key,$value)=each($arr_file))
    {
        echo "$key=>$value<br>";
    }
   }
//关闭目录
closedir($fp);


3.获取子目录下的文件方法,如下代码:

function listFiles($dir)
{
    //打开目录

    $handle=opendir($dir);
    //阅读目录
    while(false!=($file=readdir($handle)))
    {
         //列出所有文件并去掉'.'和'..'
         if($file!='.'&&$file!='..')
         {
            //所得到的文件名是否是一个目录
             if(is_dir("$dir/$file"))
             {
                //列出目录下的文件
                 listFiles("$dir/$file");
             }
             else
             {
                    //如果是文件则打开该文件

                    $fp=fopen("$dir/$file","r");

                    //阅读文件内容
                    $data=fread($fp,filesize("$dir/$file"));
                    if($data)
                    //将读到的内容赋值给一个数组
                     $file_array[]="$dir/$file";
                        /*foreach($file_array as $key=>$value)
                        {
                            echo "$value<br>";
                           }
                           */
                       //echo count($file_array);
                       //输出结果
                      while(list($key,$value)=each($file_array))
                       {
                             echo"$key=>$value<br>";
                        }
               }
             }
         }
    }
 /*------------------------------------------*/
    //调用
    $dir="H:/temp";
    listFiles($dir);

4.读取某个目录下的文件,如果该目录不存在则创建它

 $folder="H:/temp1";
 //打开目录
@$fp=opendir($folder);
   //如果该目录不存在则创建它
    if(!$fp)
   {
       //创建目录
        mkdir($folder);
        //修改该目录的权限
        chmod($folder,'0755');
        echo " the folder create success!";
    }
    else
    {
        echo " the folder have exists.";
    }




  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值