文件的基本操作(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");
原文地址:https://www.cnblogs.com/xiaodouding/p/6579910.html