php文件操作基础

Posted 梦深深处

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php文件操作基础相关的知识,希望对你有一定的参考价值。

文件和目录:

判断是文件还是目录: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);
    }
}

 

以上是关于php文件操作基础的主要内容,如果未能解决你的问题,请参考以下文章

php代码片段: sendFile/videoStream/sendEmail/phpexcel/ffmpeg/zip

[vscode]--HTML代码片段(基础版,reactvuejquery)

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础

小迪安全 Web安全 基础入门 – 第十三天 – PHP开发 – 个人博客项目&文件操作类&编辑器&上传下载删除读写

VSCode自定义代码片段——git命令操作一个完整流程

2.php语言基础