首頁 > 後端開發 > PHP問題 > PHP中怎樣取得和偵測檔案的屬性? (總結分享)

PHP中怎樣取得和偵測檔案的屬性? (總結分享)

WBOY
發布: 2023-03-13 11:52:01
原創
2556 人瀏覽過

在先前的文章中為大家帶來了《PHP中如何複製、刪除、重新命名檔案、建立一個暫存檔案? 》,其中詳細的介紹了在PHP中應該怎樣去對文件進行一個基礎的操作,本篇文章繼續給大家帶來PHP中如何獲取和檢測文件的屬性,希望對大家有幫助!

PHP中怎樣取得和偵測檔案的屬性? (總結分享)

當我們日常操作中,經常會與文件打交道,拿著時候我們可能就會需要知道這些文件的一些常用屬性,比如文件的大小、類型、是否可讀等等的屬性。那在PHP中應該要怎麼去得到這些屬性呢?

在PHP中內建了非常全面的函數用來取得這些屬性,那接下來我們就來看看這些常用的屬性應該怎麼去獲取吧。

<strong><span style="font-size: 20px;">file_exists()</span></strong>#    用來檢查檔案或目錄是否有   

# 檔案存在回傳TRUE,不存在則回傳FALSE  ,它的語法格式如下:

file_exists(string $filename)
登入後複製

範例如下:

首先我們先建立了一個test.txt檔案

PHP中怎樣取得和偵測檔案的屬性? (總結分享)

然後我們透過一個if語句來判斷檔案是否存在:

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

輸出結果:
PHP中怎樣取得和偵測檔案的屬性? (總結分享)

<strong>##filesize()<span style="max-width:90%"></span></strong>    用來取得檔案大小   

  傳回檔案大小的位元組數,出錯時傳回FALSE ,語法格式如下:

filesize(string $filename)
登入後複製

範例如下:


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

輸出結果:


PHP中怎樣取得和偵測檔案的屬性? (總結分享)

<strong><span style="max-width:90%"></span></strong>#由結果可以看出,透過filesize()函數,傳回檔案位元組數用於取得檔案大小

#is_readable()

    用來判斷給定檔案名稱是否可讀   

PHP中怎樣取得和偵測檔案的屬性? (總結分享) 

 如果檔案存在且可讀則傳回TRUE,否則傳回FALSE ,它的語法格式如下:

is_readable(string $filename)
登入後複製

   範例如下:<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">&lt;?php $a = &amp;#39;test.txt&amp;#39;; if(is_readable($a)){//判断文件是否可读 echo $a.&amp;#39; 文件是可读的。&lt;br&gt;&amp;#39;; }else{ echo $a.&amp;#39; 文件是不可读的。&lt;br&gt;&amp;#39;; } ?&gt;</pre><div class="contentsignin">登入後複製</div></div><strong>輸出結果:<span style="font-size: 20px;"></span></strong>由上述結果可以看出,透過is_readable() 函數判斷,如果檔案切可讀返回TRUE,否則返回FALSE,來判斷檔案是否可讀。

is_writable()


#   用來判斷給定檔名是否可寫入

   

PHP中怎樣取得和偵測檔案的屬性? (總結分享)如果檔案存在且可讀寫則傳回TRUE,否則傳回FALSE,它的語法格式如下:

is_writable(string $filename)
登入後複製

範例如下:

<?php
  $a = &#39;test.txt&#39;;
  if(is_writable($a)){//判断文件是否可写
    echo $a.&#39; 文件是可写的。<br>&#39;;
}else{
    echo $a.&#39; 文件是不可写的。<br>&#39;;
}
?>
登入後複製
輸出結果:<strong><span style="font-size: 20px;"></span></strong>由上述結果可以看出,透過is_writable()函數如果檔案存在且可讀寫則傳回TRUE,否則傳回FALSE,由此判斷檔案是否可寫。

is_executable()


#    用來判斷給定檔名是否可執行

#   

PHP中怎樣取得和偵測檔案的屬性? (總結分享)如果檔案存在且可執行則傳回TRUE,否則傳回FALSE,它的語法格式如下:

is_executable(string $filename)
登入後複製

範例如下:

<?php
  $a = &#39;test.txt&#39;;
  if(is_executable($a)){//判断文件是否可执行
    echo $a.&#39; 文件是可执行的。<br>&#39;;
}else{
    echo $a.&#39; 文件是不可执行的。<br>&#39;;
}
?>
登入後複製
輸出結果:<strong><span style="font-size: 20px;"></span></strong>由上述結果可以看出,透過is_executable()函數如果檔案存在且可執行則傳回TRUE,否則傳回FALSE,判斷檔案是否可執行。

filectime()<strong><span style="font-size: 20px;"></span></strong>#    用來取得檔案的建立時間、

#filemtime()<strong><span style="font-size: 20px;"></span></strong>    用來取得檔案的修改時間、

fileatime()


    用於取得檔案的最後一個存取時間

######語法格式如下:###
filectime(string $filename)
filemtime(string $filename)
fileatime(string $filename)
登入後複製
###範例如下:######
<?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;;
?>
登入後複製
###輸出結果:######

PHP中怎樣取得和偵測檔案的屬性? (總結分享)

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

<?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;;
?>
登入後複製

输出结果:

PHP中怎樣取得和偵測檔案的屬性? (總結分享)

推荐学习:《PHP视频教程

以上是PHP中怎樣取得和偵測檔案的屬性? (總結分享)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板