2024 PHP Conference Japan

檔案系統函式

另請參閱

相關函式,另請參閱目錄程式執行章節。

有關可用作遠端檔案的各種 URL 包裝器的清單和說明,另請參閱支援的協定和包裝器

目錄

  • basename — 傳回路徑的尾端名稱組成部分
  • chgrp — 變更檔案群組
  • chmod — 變更檔案模式
  • chown — 變更檔案擁有者
  • clearstatcache — 清除檔案狀態快取
  • copy — 複製檔案
  • delete — 參見 unlink 或 unset
  • dirname — 傳回父目錄的路徑
  • disk_free_space — 傳回檔案系統或磁碟分割區上的可用空間
  • disk_total_space — 傳回檔案系統或磁碟分割區的總大小
  • diskfreespace — disk_free_space 的別名
  • fclose — 關閉開啟的檔案指標
  • fdatasync — 將資料(但不包含詮釋資料)同步到檔案
  • feof — 測試檔案指標是否已到達檔案結尾
  • fflush — 將輸出刷新到檔案
  • fgetc — 從檔案指標取得字元
  • fgetcsv — 從檔案指標取得一行並解析 CSV 欄位
  • fgets — 從檔案指標取得一行
  • fgetss — 從檔案指標取得一行並去除 HTML 標籤
  • file — 將整個檔案讀入陣列
  • file_exists — 檢查檔案或目錄是否存在
  • file_get_contents — 將整個檔案讀入字串
  • file_put_contents — 將資料寫入檔案
  • fileatime — 取得檔案的最後存取時間
  • filectime — 取得檔案的 inode 變更時間
  • filegroup — 取得檔案群組
  • fileinode — 取得檔案 inode
  • filemtime — 取得檔案修改時間
  • fileowner — 取得檔案擁有者
  • fileperms — 取得檔案權限
  • filesize — 取得檔案大小
  • filetype — 取得檔案類型
  • flock — 可移植的檔案鎖定建議
  • fnmatch — 將檔名與模式比對
  • fopen — 開啟檔案或 URL
  • fpassthru — 輸出檔案指標上的所有剩餘資料
  • fputcsv — 將一行格式化為 CSV 並寫入檔案指標
  • fputs — fwrite 的別名
  • fread — 二進位安全檔案讀取
  • fscanf — 根據格式從檔案解析輸入
  • fseek — 在檔案指標上搜尋
  • fstat — 使用已開啟的檔案指標取得檔案資訊
  • fsync — 將變更同步到檔案(包含詮釋資料)
  • ftell — 傳回檔案讀取/寫入指標的目前位置
  • ftruncate — 將檔案截斷為指定的長度
  • fwrite — 二進位安全檔案寫入
  • glob — 尋找符合模式的路徑名稱
  • is_dir — 判斷檔名是否為目錄
  • is_executable — 判斷檔名是否可執行
  • is_file — 判斷檔名是否為一般檔案
  • is_link — 判斷檔名是否為符號連結
  • is_readable — 判斷檔案是否存在且可讀取
  • is_uploaded_file — 判斷檔案是否透過 HTTP POST 上傳
  • is_writable — 判斷檔名是否可寫入
  • is_writeable — is_writable 的別名
  • lchgrp — 變更符號連結的群組擁有權
  • lchown — 變更符號連結的使用者擁有權
  • link — 建立硬連結
  • linkinfo — 取得連結的資訊
  • lstat — 取得檔案或符號連結的資訊
  • mkdir — 建立目錄
  • move_uploaded_file — 將上傳的檔案移動到新位置
  • parse_ini_file — 解析設定檔
  • parse_ini_string — 解析設定字串
  • pathinfo — 傳回檔案路徑的資訊
  • pclose — 關閉程序檔案指標
  • popen — 開啟程序檔案指標
  • readfile — 輸出檔案
  • readlink — 傳回符號連結的目標
  • realpath — 傳回正規化的絕對路徑名稱
  • realpath_cache_get — 取得 realpath 快取項目
  • realpath_cache_size — 取得 realpath 快取大小
  • rename — 重新命名檔案或目錄
  • rewind — 重設檔案指標的位置
  • rmdir — 移除目錄
  • set_file_buffer — stream_set_write_buffer 的別名
  • stat — 取得檔案資訊
  • symlink — 建立符號連結
  • tempnam — 建立具有唯一檔名的檔案
  • tmpfile — 建立暫存檔案
  • touch — 設定檔案的存取和修改時間
  • umask — 變更目前的 umask
  • unlink — 刪除檔案
新增註釋

使用者貢獻的註釋 2 則註釋

Christian
17 年前
我剛學到,要以可攜式的方式指定檔名,您不需要「DIRECTORY_SEPARATOR」 - 只需使用「/」即可。這真的讓我感到驚訝和震驚,因為到目前為止,我為了保持平台獨立性,輸入了無數次的「DIRECTORY_SEPARATOR」 - 這是多餘的。別犯同樣的錯誤。
tunnelareaten at gmail dot com
19 年前
我製作了這個函式,可以透過副檔名或檔名中出現的字串來搜尋和/或顯示檔案。當然,歡迎任何意見或改進。我很快就會更新這個函式。

用法:list_files([字串], [字串], [整數 1 | 0], [整數 1 | 0]);

搜尋副檔名:list_files([字串], [字串], [0], [整數 1 | 0]);
傳回陣列:$myArray = list_files([字串], [字串], [0], [0]);
顯示結果:list_files([字串], [字串], [0], [1]);

搜尋出現的字串:list_files([字串], [字串], [1], [整數 1 | 0]);
傳回陣列:$myArray = list_files([字串], [字串], [1], [0]);
顯示結果:list_files([字串], [字串], [1], [1]);

<?php

function list_files($directory, $stringSearch, $searchHandler, $outputHandler) {
$errorHandler = false;
$result = array();
if (!
$directoryHandler = @opendir ($directory)) {
echo (
"<pre>\n錯誤:目錄 \"$directory\" 不存在!\n</pre>\n");
return
$errorHandler = true;
}
if (
$searchHandler === 0) {
while (
false !== ($fileName = @readdir ($directoryHandler))) {
if(@
substr ($fileName, - @strlen ($stringSearch)) === $stringSearch) {
@
array_push ($result, $fileName);
}
}
}
if (
$searchHandler === 1) {
while(
false !== ($fileName = @readdir ($directoryHandler))) {
if(@
substr_count ($fileName, $stringSearch) > 0) {
@
array_push ($result, $fileName);
}
}
}
if ((
$errorHandler === true) && (@count ($result) === 0)) {
echo (
"<pre>\n錯誤:找不到檔案類型 \"$fileExtension\" !\n</pre>\n");
}
else {
sort ($result);
if (
$outputHandler === 0) {
return
$result;
}
if (
$outputHandler === 1) {
echo (
"<pre>\n");
print_r ($result);
echo (
"</pre>\n");
}
}
}

?>
To Top