<?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");