Home  >  Article  >  Backend Development  >  How to get and detect file attributes in PHP? (Summary sharing)

How to get and detect file attributes in PHP? (Summary sharing)

WBOY
WBOYOriginal
2021-10-19 10:22:172399browse

In the previous article, I brought you "How to copy, delete, rename files and create a temporary file in PHP? 》, which introduces in detail how to perform basic operations on files in PHP. This article continues to show you how to obtain and detect file attributes in PHP. I hope it will be helpful to everyone!

How to get and detect file attributes in PHP? (Summary sharing)

In our daily operations, we often deal with files. When holding them, we may need to know some common attributes of these files, such as file size, type, Properties such as whether it is readable or not. So how to get these properties in PHP?

There are very comprehensive functions built into PHP to obtain these attributes, so let's take a look at how to obtain these commonly used attributes.

<strong><span style="font-size: 20px;">file_exists()</span></strong> Used to check whether a file or directory exists

Returns TRUE if the file exists, FALSE if it does not exist. Its syntax format is as follows:

file_exists(string $filename)

The example is as follows:

First we create a test.txt file

How to get and detect file attributes in PHP? (Summary sharing)

Then we use an if statement to determine whether the file exists:

<?php
if(file_exists(&#39;test.txt&#39;)){
   echo &#39;文件存在&#39;;
   exit;
}
?>

Output result:
How to get and detect file attributes in PHP? (Summary sharing)

<strong><span style="font-size: 20px;">filesize()</span></strong>## Used to get the file size

Returns the number of bytes of the file size, Returns FALSE when an error occurs. The syntax format is as follows:

filesize(string $filename)

The example is as follows:


<?php
  $a = &#39;test.txt&#39;;
  echo $a.&#39; 文件大小是:&#39;.filesize($a).&#39; 个字节<br>&#39;;
?>

Output result:


How to get and detect file attributes in PHP? (Summary sharing)

It can be seen from the results that through the filesize() function, the number of file bytes returned is used to obtain the file size

<strong>is_readable()<span style="font-size: 20px;"></span></strong> Used to determine whether the given file name is readable

Returns TRUE if the file exists and is readable, otherwise returns FALSE. Its syntax format is as follows:

is_readable(string $filename)

Examples are as follows:

<?php
  $a = &#39;test.txt&#39;;
  if(is_readable($a)){//判断文件是否可读
    echo $a.&#39; 文件是可读的。<br>&#39;;
}else{
    echo $a.&#39; 文件是不可读的。<br>&#39;;
}
?>

Output result:

How to get and detect file attributes in PHP? (Summary sharing)

As can be seen from the above results, judging by the is_readable() function, if the file exists Returns TRUE if it is readable, otherwise returns FALSE to determine whether the file is readable.

<strong>is_writable()<span style="font-size: 20px;"></span></strong>## Used to determine whether a given file name is writable If the file exists and is readable and writable, it returns TRUE, otherwise it returns FALSE. Its syntax format is as follows:

is_writable(string $filename)

The example is as follows:

<?php
  $a = &#39;test.txt&#39;;
  if(is_writable($a)){//判断文件是否可写
    echo $a.&#39; 文件是可写的。<br>&#39;;
}else{
    echo $a.&#39; 文件是不可写的。<br>&#39;;
}
?>

Output result:


How to get and detect file attributes in PHP? (Summary sharing)As can be seen from the above results, if the is_writable() function returns TRUE if the file exists and is readable and writable, otherwise it returns FALSE to determine whether the file is writable. Write.

is_executable()<strong><span style="font-size: 20px;"></span></strong>## Used to determine whether the given file name is executable If the file exists and is executable, it returns TRUE, otherwise it returns FALSE. Its syntax format is as follows:

is_executable(string $filename)

The example is as follows:

<?php
  $a = &#39;test.txt&#39;;
  if(is_executable($a)){//判断文件是否可执行
    echo $a.&#39; 文件是可执行的。<br>&#39;;
}else{
    echo $a.&#39; 文件是不可执行的。<br>&#39;;
}
?>

Output result:


As can be seen from the above results, if the is_executable() function returns TRUE if the file exists and is executable, otherwise it returns FALSE to determine whether the file is executable. How to get and detect file attributes in PHP? (Summary sharing)

filectime()<strong><span style="font-size: 20px;"></span></strong> Used to get the creation time of the file,

filemtime()<strong><span style="font-size: 20px;"></span></strong> Used to get the modification time of the file,

fileatime()<strong><span style="font-size: 20px;"></span></strong> Used to get the last access time of the file Syntax format As follows:

filectime(string $filename)
filemtime(string $filename)
fileatime(string $filename)

The example is as follows:

<?php
  $a = &#39;test.txt&#39;;
    //获取文件创建时间
    echo &#39;文件的创建时间是:&#39;.date(&#39;Y-m-d H:i:s&#39;,filectime($a)).&#39;。<br>&#39;;
    //获取文件修改时间
    echo &#39;文件的修改时间是:&#39;.date(&#39;Y-m-d H:i:s&#39;,filemtime($a)).&#39;。<br>&#39;;
    //获取文件的上次访问时间
    echo &#39;文件上次的访问时间是:&#39;.date(&#39;Y-m-d H:i:s&#39;,fileatime($a)).&#39;。<br>&#39;;
?>

Output result:

How to get and detect file attributes in PHP? (Summary sharing)

那接下来我们把这些函数结合起来就能够得到如下结果:

<?php
    $a = &#39;test.txt&#39;;
    //判断文件是否存在
    file_exists($a) or die(&#39;文件不存在,程序退出!&#39;);
    //获取文件大小
    echo $a.&#39; 文件大小是:&#39;.filesize($a).&#39; 个字节<br>&#39;;
    if(is_readable($a)){//判断文件是否可读
        echo $a.&#39; 文件是可读的。<br>&#39;;
    }else{
        echo $a.&#39; 文件是不可读的。<br>&#39;;
    }
    if(is_writable($a)){//判断文件是否可写
        echo $a.&#39; 文件是可写的。<br>&#39;;
    }else{
        echo $a.&#39; 文件是不可写的。<br>&#39;;
    }
    if(is_executable($a)){//判断文件是否可执行
        echo $a.&#39; 文件是可执行的。<br>&#39;;
    }else{
        echo $a.&#39; 文件是不可执行的。<br>&#39;;
    }
    //获取文件创建时间
    echo &#39;文件的创建时间是:&#39;.date(&#39;Y-m-d H:i:s&#39;,filectime($a)).&#39;。<br>&#39;;
    //获取文件修改时间
    echo &#39;文件的修改时间是:&#39;.date(&#39;Y-m-d H:i:s&#39;,filemtime($a)).&#39;。<br>&#39;;
    //获取文件的上次访问时间
    echo &#39;文件上次的访问时间是:&#39;.date(&#39;Y-m-d H:i:s&#39;,fileatime($a)).&#39;。<br>&#39;;
?>

输出结果:

How to get and detect file attributes in PHP? (Summary sharing)

推荐学习:《PHP视频教程

The above is the detailed content of How to get and detect file attributes in PHP? (Summary sharing). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn