首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 檔案系統處理函數速查:類型判斷、屬性、目錄操作與讀寫

     編輯:PHP 相關知識

PHP 檔案系統處理函數速查:類型判斷、屬性、目錄操作與讀寫

檔案類型判斷

filetype() 回傳 7 種類型(Linux/Unix):block(區塊裝置)、char(字元裝置)、dir(目錄)、fifo(管道)、file(一般檔案)、link(符號連結)、unknown。Windows 僅 file/dir/unknown。

常用屬性檢測函數

  • is_dir()、is_file()、is_link()、is_executable()、file_exists()
  • filesize()、is_readable()、is_writeable()(注意拼寫)
  • filectime()(建立/狀態變更)、filemtime()(修改)、fileatime()(存取)
  • stat() 回傳完整資訊陣列(dev、ino、mode、nlink、uid、gid、rdev、size、atime、mtime、ctime、blksize、blocks)

檔案截斷與重命名

  • ftruncate($handle, $size):截斷檔案至指定大小。
  • rename($old, $new [, $context]):移動/重命名(跨分區可能失敗)。

路徑資訊解析

$path = "/var/www/html/page.php";
basename($path);        // page.php
basename($path, ".php"); // page
dirname($path);         // /var/www/html
pathinfo($path);        // ['dirname'=>..., 'basename'=>..., 'extension'=>'php']

目錄遍歷

$dh = opendir($path);
while (($file = readdir($dh)) !== false) { /* ... */ }
closedir($dh);
rewinddir($dh); // 重置指標

磁碟空間

  • disk_free_space($path)、disk_total_space($path):以位元組為單位。
  • 目錄大小需自行遞迴累加 filesize()。

建立/刪除/複製

  • mkdir($path [, $mode [, $recursive [, $context]]])
  • rmdir($path) 僅刪除空目錄;非空目錄需遞迴刪除檔案後再 rmdir。
  • unlink($file) 刪除檔案。
  • copy($src, $dest [, $context]) 複製檔案;目錄複製需自行遞迴。

檔案讀寫核心函數

檔案指標移動

  • ftell($handle):取得目前位移。
  • fseek($handle, $offset [, $whence]):SEEK_SET(檔首)、SEEK_CUR(目前)、SEEK_END(檔尾)。
  • rewind($handle):移至檔首(等同 fseek($handle, 0))。
遠端檔案需 allow_url_fopen=On;FTP 協議僅支援「唯讀」或「唯寫」模式開啟。
延伸專題:PHP 檔案操作總結、運算符、網絡編程、基礎語法、Office 文件操作、日期時間、OOP、字串、MySQL 入門、常見資料庫操作匯總。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
函數用途
fopen()/fclose()開啟/關閉檔案指標
fwrite($handle, $str [, $len])寫入(別名 fputs()),回傳寫入位元組數
file_put_contents($file, $data [, $flags [, $context]])一行式寫入(相當於 fopen+fwrite+fclose),支援 FILE_APPEND、LOCK_EX
fread($handle, $len)讀取指定位元組
file_get_contents($file [, $use_include [, $context [, $offset [, $maxlen]]]])一次讀整檔或片段,效率最高
file($file [, $flags [, $context]])讀整檔為陣列,每行含換行符
fgets($handle [, $len])讀一行
fgetc($handle)讀單一字元
readfile($file [, $use_include [, $context]])直接輸出至瀏覽器,回傳位元組數