zoukankan      html  css  js  c++  java
  • 文件的基本操作(1)

    <?php
    
    var_dump(filetype("../ajax"));  //返回文件类型、目录或文件
    var_dump(is_dir("../ajax")); //判断是不是文件夹 返回值是true或者flase
    is_file("../ajax");//判断是不是文件 返回值同样是true或者flase
    
    echo fileatime("../ajax/"); //创建时间 返回值是一个事件戳 我们可以把时间戳转化成时间
    
    date_default_timezone_set("Asia/shanghai");
    echo date("Y-m-d H:m:s",fileatime("../ajax"));
    
    filectime("../ajax"); //创建时间
    filemtime("../ajax");//修改时间
    filesize("../ajax");  //文件大小
    
    echo $_SERVER['DOCUMENT_ROOT'] ; //该服务器的根目录
    
    echo realpath("../ajax");//将相对路径转成绝对路径
    echo $_SERVER['DOCUMENT_ROOT']; //该服务器的根目录
    
    echo basename("/wamp/www/1220/wenjian/img/11.png"); //从目录中获取文件名 输出的是 11.png
    echo dirname("/wamp/www/1220/wenjian/img/11.png");  //返回值 /wamp/www/1220/wenjian/img
    var_dump(pathinfo("/wamp/www/1220/wenjian/img/11.png")); //返回一个数组 包括了basename dirname 文件名 扩展名

    下面说到的glob(遍历木目录)方法可以返回该目录下所有的文件

    var_dump(glob("../ajax/*"))

    返回的是一个数组,包含ajax目录下的所有文件

    如果想要计算出ajax目录下有多少的文件,可以用下面封装的方法shuliang()来遍历目录,可以计算出ajax目录下其他的文件夹里面的文件的总和,

    //给我一个文件夹,返回该文件夹下所有文件数量
    function
    ShuLiang($url) { $sl = 0; $arr = glob($url); foreach($arr as $v) { if(is_file($v)) { $sl++; } else { $sl += ShuLiang($v."/*"); } } return $sl; } echo ShuLiang("../ajax/*");

    因为我的ajax文件夹是在上级目录下 所以用的是../ 一共有9个php文件

    下面的是目录资源 打开资源和关闭是相对应的,不然会影响到后面的删除等一系列的操作

    1 $dir = opendir($fname); //打开目录
    2 
    3 closedir($dir); //关闭目录 
    1 //遍历目录中的文件
    2 
    3 while($url = readdir($dir))   //循环读取
    4 {
    5     echo $fname."/".$url;   //路径拼上
    6 }
    1 mkdir("./bb");   //在该目录下创建新的文件夹bb
    2 rmdir("./bb");  //只能删除空的文件夹
    3 rename("./bb","./ajax/aa")  //移动文件夹 第一个参数是移动的文件名,第二个参数是指移动到哪里

    文件的整体操作

    1 touch("./22.txt"); //创建文件
    2 copy("./11.txt","../11.txt"); //复制文件
    3 unlink("../11.txt"); //删除文件
    4 echo file_get_contents("./11.txt"); //*获取本地文件内容
    5 echo file_get_contents("http://www.baidu.com");  //还可以获取远程文件内容
    6 readfile("11.txt"); //读取文件内容并输出
    7 var_dump(file("./11.txt")); //读取文件内容,每行放在数组里面当做一个元素

    例题:删除文件

     1 function ShanChu($fname)
     2 {
     3     //遍历该文件夹,找到所有文件删除
     4     $dir = opendir($fname);
     5     while($n = readdir($dir))
     6     {
     7         if($n!="." && $n!="..")  //这是必须有的,不然这个磁盘上的内容群都会被删除
     8         {
     9             $zname = $fname."/".$n;
    10             if(is_file($zname))
    11             {
    12               unlink($zname);  //删除文件
    13             }
    14             else
    15             {
    16               ShanChu($zname);  //如果有子文件夹也要删除,这里调用这个方法
    17             }
    18         }
    19     }
    20     closedir($dir);
    21              
    22     //删除文件夹
    23     rmdir($fname);
    24 }
    25              
    26 ShanChu("../aa");
  • 相关阅读:
    美化滚动条
    js 格式转化
    vue 实现 前端生成随机验证码
    Vue.js CLI4 Vue.config.js标准配置
    在鼠标右键 新建 添加md文件
    节流和防抖
    关于IE 浏览器 GET 请求缓存问题
    VSCode 背景插件
    Java后台开发Tomcat添加https支持小程序开发过程
    InnoDB与MyISAM等存储引擎对比
  • 原文地址:https://www.cnblogs.com/xiaodouding/p/6579910.html
Copyright © 2011-2022 走看看