1. 云栖社区>
  2. 技术文集>
  3. 列表>
  4. 正文

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

作者:用户 来源:互联网 时间:2016-10-20 10:45:53

目录php文件函数可写路径时间信息php函数系统时间获取获取根目录时间操作函数clearstatcache获取文件目录获取系统时间

应用PHP文件函数获取文件信息实例教程 - 摘要: 本文讲的是应用PHP文件函数获取文件信息实例教程,   上一篇PHP目录函数教程中主要介绍了目录(文件夹)读取,遍历的方法,但最基本的文件管理系统同时涉及到文件信息、文件大小读取以便检查磁盘使用情况,也需要

  上一篇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.":文件属性<br/>";
       
        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 "文件目录信息:<br/>";
                   
        echo "文件类型:".filetype($fileInfo)."<br/>";
        echo "文件大小:".filesize($fileInfo)."<br/>";

        echo "最近访问时间:".date("j F Y H:i",fileatime($fileInfo))."<br/>";
        echo "最近修改时间:".date("j F Y H:i",filemtime($fileInfo))."<br/>";
        echo "是否为可执行文件:".(is_executable($fileInfo)?"是":"否")."<br/>";
        echo "是否为链接(Link):".(is_link($fileInfo)?"是":"否")."<br/>";
        echo "是否可读:".(is_readable($fileInfo)?"是":"否")."<br/>";
        echo "是否可写:".(is_writable($fileInfo)?"是":"否")."<br/>";
        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
<?php
    $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版权所有,转载时请以链接形式注明原始出处及本声明,谢谢。



以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有 的相关内容,欢迎继续使用右上角搜索按钮进行搜索目录 , php , 文件 , 函数 , 可写路径 , 时间 , 信息 , php函数 , 系统时间获取 , 获取根目录 , 时间操作函数 , clearstatcache , 获取文件目录 获取系统时间 excel函数实例教程、excel应用实例教程、excel函数应用实例、获取应用程序实例句柄、offset函数应用实例,以便于您获取更多的相关知识。

PHP无法载入curl/intl/mongo扩展库

...p版本(5.6.21)下载了1.68-5.6-vc11-x64的版本,然后配置了php.ini文件,一切都按教程来的,却在phpinfo里怎么都看不到mongo扩展的信息(我自己的电脑上没有安装mongo客户端,但是这个与添加不上扩展库没关系吧?)。 查看Apache error日...

CodeIgniter记录错误日志的方法全面总结_php实例

...作流程: 所有的入口都从根目录下的index.php进入,确定应用所在目录后,加载 codeigniter/CodeIgniter.php 文件,该文件会顺序加载以下文件执行整个流程。 index.php:检测文件路径,加载codeigniter.php文件 codeigniter.php: 加载 Common/constan...

《CURL技术知识教程》系列技术教程整理

...smtp发送邮件 4PHP curl 并发最佳实践代码分享 5CURL的学习和应用(附多线程实现) 6php curl模仿ftp文件上传代码 7php使用curl来获取远程图片 8PHP Curl多线程原理实例详解 9curl不使用文件存取cookie php使用curl获取cookie示例 10php使用curl抓取qq...

[转]smarty实例教程 ---实例篇

...用PHP内置MYSQL函数)从本节开始我们来学习一下如果把Smarty应用到实际的例子中. 为了演示说明,我将以前写的一个站点作为实例来讲来下.先说明一下, 我本人的美术功底不是很强,所以设计出来的页面不太好看,大家就对付着看吧在...

php的文件上传入门教程(实例讲解)

一、文件上传 为了让客户端的用户能够上传文件,我们必须在用户界面中提供一个表单用于提交上传文件的请求。由于上传的文件是一种特殊数据,不同于其它的post数据,所以我们必须给表单设置一个特殊的编码: 以上的enctype...

前三篇
后三篇