您的位置:首页 > 其它

文件的基本操作(1)

2017-03-19 21:56 106 查看
<?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");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: