Maison  >  Article  >  php教程  >  应用PHP文件函数获取文件信息实例教程

应用PHP文件函数获取文件信息实例教程

WBOY
WBOYoriginal
2016-06-21 08:53:171028parcourir

  上一篇PHP目录函数教程中主要介绍了目录(文件夹)读取,遍历的方法,但最基本的文件管理系统同时涉及到文件信息、文件大小读取以便检查磁盘使用情况,也需要获取文件修改或访问时间,删除或移动整理文件的功能,这些都需要通过PHP文件函数同文件系统交互。

基本PHP文件函数介绍

  PHP文件函数dirname()和basename()的区别

  dirname()获得文件目录路径的目录部分,而basename()获得不带目录的文件名

如何通过PHP文件函数获得文件基本信息?

  之前介绍了PHP目录读取实例,我们只要在遍历目录(文件夹)函数listSubDir基础上增加PHP文件信息函数即可。listSubDir函数请参考PHP遍历目录(文件夹)实例。

1、在以下位置添加getFileInfo函数,输出文件信息

1
2
3
4
5
6
7


    if (is_file($newDir)) {
        echo $dirC.$subFile.":文件属性
"
;
       
        getFileInfo($newDir);
    }
?>

2、应用PHP文件函数获取文件信息函数实例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

function getFileInfo($fileInfo)
    {
        echo "文件目录信息:
"
;
                   
        echo "文件类型:".filetype($fileInfo)."
"
;
        echo "文件大小:".filesize($fileInfo)."
"
;

        echo "最近访问时间:".date("j F Y H:i",fileatime($fileInfo))."
"
;
        echo "最近修改时间:".date("j F Y H:i",filemtime($fileInfo))."
"
;
        echo "是否为可执行文件:".(is_executable($fileInfo)?"是":"否")."
"
;
        echo "是否为链接(Link):".(is_link($fileInfo)?"是":"否")."
"
;
        echo "是否可读:".(is_readable($fileInfo)?"是":"否")."
"
;
        echo "是否可写:".(is_writable($fileInfo)?"是":"否")."
"
;
        echo "文件绝对路径"realpath($fileInfo);

        clearstatcache();
    }

说明:

  这段代码主要通过PHP文件函数获取如下信息:文件类型、文件大小、最近访问、修改时间、文件可读可写属性等。

知识点:

  1、filetype函数:获取文件类型,如函数执行成功则返回如下值中的一个,否则则返回False。七个可能值:fifo、char、dir、block、link、file、unknown

  2、filesize函数:获取文件大小,以字节计算

  3、fileatime函数:文件最近访问时间,filemtime函数:文件最近修改时间。这两个PHP文件函数返回的时间戳类似于UNIX时间戳,所以需要通过Date函数进行格式化。

  4、is_executable、is_link、is_readable、is_writable:这四个PHP文件函数分别返回文件是否可执行、是否是链接、是否可读、是否可写。

  注意:PHP文件状态函数运行起来都比较费时,所以将会被自动缓存;如果希望清除缓存,可以使用clearstatcache()函数,以获取最新的文件信息。

  说个题外话,上述这些PHP文件函数获取的文件信息你也可以通过stat($file)函数获取,其以数组形式返回文件的所有详细信息,你可以使用print_r函数输出看下。

  5、realpath函数:返回文件的绝对路径,当需要找出文件在磁盘上的准确位置,则使用此函数。

  以上这些函数对应文件名参数,如果所要获取的文件路径与PHP代码执行文件不在同一目录下,请注意需要带上具体的文件路径。

创建文件的方法

  方式一:通常都使用PHP文件操作函数fopen以写入模式打开文件,再写入内容并保存,这样一个文件就创建好了。PHP文件如何写入?

  方式二:使用PHP文件操作函数touch创建,touch函数有三个参数:创建的文件名、访问时间、修改时间,其中访问时间和修改时间是可选的,默认值为当前系统时间。如果指定的文件不存在,那么它将被自动建立。通过touch函数你可以修改创建文件的最近访问和修改时间,这两个参数都是UNIX时间戳,你需要通过mktim函数进行转换。

移动和复制文件的PHP文件函数

  移动文件可以通过rename函数,复制文件可以使用copy函数,这两个PHP文件操作函数的区别在于rename函数是将老文件移动到新的目录下,而copy函数顾名思义是将老文件复制到新目录下,源目录下的文件仍然是存在的。

PHP删除文件的方法

  在之前PHP目录函数文章中,我说过在删除目录时必须为空目录,当目录下有文件时,我们必须删除文件才能删除目录,那么文件删除有什么方法呢?

  一种方法是通过PHP文件函数unlink实现,另一种方法是通过system函数执行系统命令,比如在WINDOWS系统下执行删除文件的操作。

  创建、移动、复制、删除文件的代码实例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16


    $fileDir = "leapsoulcn/fileinfo.txt";

    touch($fileDir,mktime(12,55,55,4,10,2000),mktime(12,55,55,4,10,2005));
   
    //删除文件的两种方法,使用时请注销一种方法
    system("del leapsoulcn\fileinfo.txt");
   
    unlink($fileDir);
   
    //移动文件
    rename("leapsoulcn/newfileinfo.txt","leapsoulcn/php/fileinfo.txt");
   
    //复制文件
    copy("leapsoulcn/php/fileinfo.txt","leapsoulcn/newfileinfo.txt");
?>

  至此利用PHP文件函数获取文件信息,创建、移动、复制、删除文件的方法就介绍完毕了,结合之前介绍的PHP文件读写教程、PHP目录函数教程,PHP文件上传教程,应该说基本的PHP文件函数我都已全面涉及,非常适合PHP初学者学习使用。

  :PHP网站开发教程-leapsoul.cn版权所有,转载时请以链接形式注明原始出处及本声明,谢谢。



Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn