怎样应用PHP文件函数获取文件信息

该文主要介绍一下怎样应用PHP文件函数获取文件信息。首先我们来看看PHP文件函数的基本介绍

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

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

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

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

1、在以下位置添加getFileInfo函数,输出文件信息
   
<?
    if (is_file($newDir)) {
        echo $dirC.$subFile.":文件属性<br/>";
      
        getFileInfo($newDir);
    }
?>

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

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系统下执行删除文件的操作。

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

<?php
    $fileDir = "leapsoulcn/fileinfo.txt";

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

 本教程非常适合PHP初学者学习使用。

时间: 2024-10-09 02:58:51

怎样应用PHP文件函数获取文件信息的相关文章

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

上一篇PHP目录函数教程中主要介绍了目录(文件夹)读取,遍历的方法,但最基本的文件管理系统同时涉及到文件信息.文件大小读取以便检查磁盘使用情况,也需要获取文件修改或访问时间,删除或移动整理文件的功能,这些都需要通过PHP文件函数同文件系统交互. 基本PHP文件函数介绍 PHP文件函数dirname()和basename()的区别 dirname()获得文件目录路径的目录部分,而basename()获得不带目录的文件名 如何通过PHP文件函数获得文件基本信息? 之前介绍了PHP目录读取实例,我们只

python打开文件并获取文件相关属性的方法_python

本文实例讲述了python打开文件并获取文件相关属性的方法.分享给大家供大家参考.具体分析如下: 下面的代码通过open函数打开文件,并输出文件名.打开状态.打开模式等属性 #!/usr/bin/python # Open a file fo = open("foo.txt", "wb") print "Name of the file: ", fo.name print "Closed or not : ", fo.clos

struct上传文件怎么获取文件的路径

问题描述 struct上传文件怎么获取文件的路径 getUploadFileName()只能获取到文件名,如abc.xls 要怎么获取它的路径C://efg/abc.xls ??? 解决方案 浏览器不会传文件在用户客户端的路径给服务器,所以没有任何办法可以获取. 除非你限制你的客户端只使用特定的操作系统.浏览器.比如用IE+ActiveX,用FSO. 搞清楚一个问题,为什么你要做 web,而不是一个c/s结构的程序,你既然是web,你就应该遵循web的规则,并且接受它的限制. 解决方案二: 获取

UC编程5-fcntl函数获取文件状态和加锁解锁/dup函数和文件映射

//myuc.h #include<stdio.h>//io流 #include<stdlib.h>//标准库 #include<unistd.h>//uc标准头文件 #include<fcntl.h>//文件控制 #include<string.h>//c字符串 #include<sys/types.h> #include<sys/mman.h>//内存映射 #include<sys/stat.h>//文件状

C语言用fstat函数获取文件的大小

之前获取文件大小总是用死办法,open一个文件,然后lseek,read这样去获取文件的大小,这样的效率实在是低,还有可能粗心大意还会出错. 一次偶然在Android的源代码中看到获取文件大小的函数,在以下范例中.用fstat这个函数可以避免这些问题. 参考百度:http://baike.baidu.com/link?url=wh6msZkLUlTCx8P6YzujB3YoHaLLVaO68sQIIPR6ICj1yXYJxHfTDvxFwzjJ4YlpZZ8IDsKhKyf9EaCHo4ARHa

php获取上传文件类型 获取文件后缀

 代码如下 复制代码 //获得图片的格式,包括jpg,png,gif function get_type($img_name)//获取图像文件类型 {  if (preg_match("/.(jpg|jpeg|gif|png|bmp)$/i", $img_name, $matches)){   $type = strtolower($matches[1]);  }else{   $type = "string";  }  return $type; } //判断上传

Java GUI中根据文件类型获取文件的图标

package cn.edu.hactcm; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.io.IOException; import javax.swing.BoxLayout; import javax.swing.Icon; import javax.swing.I

android中如何获取文件的扩展名和去掉文件的扩展名

/* * Java文件操作 获取文件扩展名 * */ public static String getExtensionName(String filename) { if ((filename != null) && (filename.length() > 0)) { int dot = filename.lastIndexOf('.'); if ((dot >-1) && (dot < (filename.length() - 1))) { retu

android 获取文件的扩展名和去掉文件扩展名的小例子_Android

复制代码 代码如下: /*  * Java文件操作 获取文件扩展名  *   */       public static String getExtensionName(String filename) {            if ((filename != null) && (filename.length() > 0)) {                int dot = filename.lastIndexOf('.');                if ((dot