程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 怎樣應用PHP文件函數獲取文件信息

怎樣應用PHP文件函數獲取文件信息

編輯: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 leapsoulcn\fileinfo.txt");
  
    unlink($fileDir);
  
    //移動文件
    rename("leapsoulcn/newfileinfo.txt","leapsoulcn/PHP/fileinfo.txt");
  
    //復制文件
    copy("leapsoulcn/PHP/fileinfo.txt","leapsoulcn/newfileinfo.txt");
?>

 本教程非常適合PHP初學者學習使用。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved