zoukankan      html  css  js  c++  java
  • 文件操作之获取某个文件夹下的所有文件的数量

    造一个函数,给一个文件夹的路径,返回该文件夹下文件数量

     1 <?php
     2 //可以用方法来做  就是给我一个文件夹然后我返回给你这个文件夹里面的文件数量
     3 
     4 echo  fileCount("./0306");
     5 
     6 function fileCount($fname)
     7 {
     8     //该文件夹下所有文件数量
     9     $sum = 0;
    10     //判断给的是不是个文件夹
    11     if(is_dir($fname))
    12     {
    13         //打开文件夹
    14         $dir = opendir($fname);
    15         //readdir($dir)读到的只是一条的文件名,这里我们需要文件的完整路径。
    16         while($wenjian = readdir($dir))
    17         {
    18             if($wenjian!="." && $wenjian!="..")
    19             {
    20                 //$furl是文件的完整路径
    21                 $furl = $fname."/".$wenjian;
    22                 //这样就实现了在while循环里面把这个给的文件夹里的所有的文件的完整路径全部取到了。
    23                 
    24                 //每个文件的完整路径都有了然后再判断这个东西是不是个文件
    25                 if(is_file($furl))
    26                 {
    27                     //如果是一个文件就加个1
    28                     $sum++;
    29                 }
    30                 //在判断一下文件夹里面是否还有文件夹
    31                 else if(is_dir($furl))
    32                 {
    33                     //如果是文件夹那么我们就要获取该文件夹内的文件的数量,然后累加起来
    34                     $sum = $sum +fileCount($furl);
    35                     
    36                 }
    37             }
    38         }
    39         //关闭文件夹
    40         closedir($dir);
    41         return $sum;    
    42     }
    43     else
    44     {
    45         echo "给的文件夹不对";
    46     }
    47 }

    第一个方法:

    往文件夹里面添加文件

    1 <body>
    2 <h1>上传文件</h1>
    3 <form action="123.php" method="post" enctype="multipart/form-data">
    4 请选择文件:<input type="file" name="file" />
    5           <input type="submit" value="提交" />
    6 </form>
    7 </body>

    后台处理页面

     1 <?php
     2 $arr = $_FILES["file"];
     3 if($arr["type"]=="image/jpeg"||$arr["type"]=="image/png"&&$arr["size"]<1024000)
     4 {
     5     $filename = "./images/".time().$arr["name"];
     6     if(file_exists($filename))
     7     {
     8         echo "该文件已存在";
     9     }
    10     else
    11     {
    12         $filename = iconv("UTF-8","gb2312",$filename);
    13         move_uploaded_file($arr["tmp_name"],$filename);
    14     }
    15 }
    16 else
    17 {
    18     echo "您所提交的文件大小或类型不正确";
    19 }

    第二个方法:

    给出一个文件夹,得出这个文件夹里面有多少个文件

     1 <?php
     2 
     3 echo Countfile("./0306");
     4 function Countfile($filename)
     5 {
     6     $sum= "0";
     7     if(is_dir($filename))
     8     {
     9         $dir = opendir($filename);
    10         while($wenjian = readdir($dir))
    11         {
    12             if($wenjian!="."&&$wenjian!="..")
    13             {
    14                 $furl = $filename."/".$wenjian;
    15                 if(is_file($furl))
    16                 {
    17                     $sum++;
    18                 }
    19                 else if(is_dir($furl))
    20                 {
    21                     $sum =$sum + Countfile($furl);
    22                 }
    23             }
    24         }
    25         closedir($dir);
    26         return  $sum;
    27     }
    28     else
    29     {
    30         echo "你所给的文件夹不正确";
    31     }
    32 }
  • 相关阅读:
    Open live Writer
    python两则99乘法表
    更改jupyter-notebook启动时的默认目录
    在内容中插入代码,返回进行编辑时,有无法跳出代码区的情况
    关于jupyter notebook密码设置
    nginx+zuul
    spring-cloud 服务优雅下线
    java.util.ConcurrentModificationException异常排查
    使用bitset实现毫秒级查询(二)
    使用bitset实现毫秒级查询
  • 原文地址:https://www.cnblogs.com/shandayuan/p/7257945.html
Copyright © 2011-2022 走看看