文件和目录:
判断是文件还是目录:filetype()
var_dump(filetype("./test")); 输出当前目录下的test文件
判断是否是文件:is_file()
var_dump(is_file("./aa.txt")); //判断aa是否是文件
判断是否是目录:is_dir()
is_dir("./test"); //判断test是否是目录
文件上次访问时间:fileatime()
echo date("Y-m-d H:i:s",fileatime("./aa.txt")); //输出文件aa的上次访问时间
如图:
文件创建时间:filectime()
filectime("./aa.txt"); //文件aa的创建时间
文件修改时间:filemtime()
echo date("Y-m-d H:i:s",filemtime("./aa.txt")); //文件aa的修改时间
获取文件大小:filesiz()
echo filesize("./aa.txt"); //获取文件aa的大小
判断文件是否存在:file_exists()
var_dump(file_exists("./aaa.txt")); //判断文件是否存在
var_dump(file_exists("/wamp/www/aa.jpg"));
/代表根,在网页里面代表www目录,在PHP里面代表磁盘根
echo $_SERVER['DOCUMENT_ROOT']; //服务器的根目录
echo basename("./aa.txt"); //获取路径中的文件名
echo dirname("../0428/DBDA.class.php"); //获取路径中的文件夹目录
var_dump(pathinfo("../0428/DBDA.class.php")); //获取路径信息
echo realpath("./aa.txt"); //将相对路径转化成绝对路径
目录操作
mkdir("./aa"); //创建目录
rmdir("./aa"); //删除目录,目录必须为空
rename("./test","../ceshi"); //移动目录
遍历目录
var_dump(glob("./qiyezhan/*.txt")); //获取目录下所有文件
打开目录,返回目录资源
$dname = "./qiyezhan";
$dir = opendir($dname);
从目录资源里面读文件,每次读一个
while($fname = readdir($dir))
{
echo $dname."/".$fname."<br>";
}
//关闭目录资源
closedir($dir);
touch("./aa.txt"); //创建文件
copy("./aa.txt","../aa.txt"); //复制文件
unlink("./aa.txt"); //删除文件
echo file_get_contents("http://www.baidu.com"); //读取文件
file_put_contents("11.txt","hello"); //写内容
readfile("./11.txt"); //读取并输出
var_dump(file("11.txt")); //读取文件内容,返回数组,每行是一个元素
打开文件
$f = fopen("./11.txt","a");
fwrite($f,"wwwww");
关闭文件
fclose($f);
例子1,获取某个文件夹下所有文件的数量:
<?php //造一个函数,给一个文件夹,返回该文件夹下文件数量 echo fileCount("./dist"); function fileCount($fname) { //该文件夹下所有文件数量 $sum = 0; //判断给的是不是文件夹 if(is_dir($fname)) { //打开文件夹 $dir = opendir($fname); while($wenjian = readdir($dir)) { if($wenjian!="." &&$wenjian!="..") { //文件的完整路径 $furl = $fname."/".$wenjian; if(is_file($furl)) { $sum++; } else if(is_dir($furl)) { //获取该文件夹下文件数量,累加 $sum = $sum + fileCount($furl); } } } //关闭文件夹 closedir($dir); return $sum; } else { echo "给的文件夹不对"; } } ?>
结果输出为14
例题2:删除文件夹:
ShanChu("./qiyezhan"); function ShanChu($fname) { if(is_dir($fname)) { //在删除之前,把里面的文件全部删掉 $dir = opendir($fname); while($dname = readdir($dir)) { if($dname!="." && $dname!="..")//非常重要,一定要有,不然会把整个磁盘删掉,危险!!! { $durl = $fname."/".$dname; if(is_file($durl)) { unlink($durl); } else { ShanChu($durl); } } } closedir($dir); //删除该文件夹 rmdir($fname); } else { //如果是文件,直接删掉 unlink($fname); } }