[PHP]檔案讀寫

小黑-avatar-img
發佈於後端
更新 發佈閱讀 5 分鐘

檔案屬性

  • filetype(string):回傳參數檔案的種類字串,可能的回傳值有:fifo、char、dir、block、link、file和unknown,如果有錯誤回傳false。
  • fileatime(string):回傳參數檔案的最後存取時間,單位是UNIX的時間戳記,如果錯誤回傳false。
  • filemtime(string):回傳參數檔案的最後更改時間,單位是UNIX的時間戳記,如果錯誤回傳false。
  • filesize(string):回傳參數檔案尺寸,以位元組為單位,如果錯誤回傳false。
  • is_dir(string):如果參數路徑存在且是路徑,回傳true,否則回傳false。
  • is_file(string):如果參數檔案存在且是檔案,回傳true,否則回傳false。
  • is_readable(string):如果參數檔案存在且可讀,回傳true,否則回傳false。
  • is_writeable(string):如果參數檔案存在且可寫,回傳true,否則回傳false。如果是路徑,檢查路徑是否可寫。
  • is_uploaded_file(string):如果參數檔案是使用HTTP POST上傳的檔案,就回傳true;否則為false。


開啟檔案

$fp = fopen($file, "r")  // 開啟檔案

or exit("檔案 $file 開啟錯誤");

第一個參數為要開啟的檔案路徑或URL網址字串。(路徑如果是「\」,就需要使用逸出字元);第二個參數為檔案開啟的模式。


檔案開啟模式

  • r:唯讀檔案
  • r+:讀寫檔案,檔案指標位在檔頭,寫入資料會覆寫檔案內容。
  • w:寫入檔案,清除目前檔案所有內容,檔案指標指向檔頭,如果檔案不存在,建立此檔案。
  • w+:讀寫檔案,清除目前檔案所有內容,檔案指標指向檔頭,如果檔案不存在,建立此檔案。
  • a:寫入檔案,檔案指標指向檔尾,從檔尾開始寫入資料,如果檔案不存在,建立此檔案。
  • a+:讀寫檔案,檔案指標指向檔尾,從檔尾開始寫入資料,如果檔案不存在,建立此檔案。
  • b:二進位檔案,不可以單獨使用,需要配合其他檔案模式。


關閉檔案

在完成檔案的讀寫後,請使用fclose()關閉檔案。

fclose($fp);

參數為所開啟的檔案。


寫入資料到檔案

寫入資料

if (fwrite($fp, $content))   // 寫入檔案

print "寫入檔案 $file 成功";

else

print "寫入檔案 $file 錯誤";

第一個參數為開啟的檔案。第二個參數為要寫入的內容。


限制寫入資料長度

if (fwrite($fp, $content, 10))   // 寫入檔案

print "寫入檔案 $file 成功";

else

print "寫入檔案 $file 錯誤";

第一個參數為開啟的檔案。第二個參數為要寫入的內容。第三個參數為限制寫入資料的位元組數。


讀取檔案內容

位元組數讀取內容

$contents = fread($fp, filesize($file));

第一個參數為開啟的檔案。第二個參數為要讀取的位元組數。(檔案內容如果有換行符號,可以使用nl2br(),將換行符號轉換成「<br/>」標籤)


讀取內容到陣列

這種讀取方式,會以換行符號對資料做分割。

$lines = file($file);  // 將檔案讀入陣列

// 一行一行的顯示檔案內容

foreach ($lines as $line_num => $line) {

echo "$line_num : " . $line;

}


讀取內容並輸出

$num = readfile($file);


讀取圖檔

readfile()讀檔

$fileData = exif_read_data($file);

// HTTP標頭資訊

header("Content-Type: " . $fileData['MimeType']);

header("Content-Length: " . $fileData['FileSize']);

// 讀取檔案內容

readfile($file);


base64圖檔

$fileData = exif_read_data($file);

$fileEncode = base64_encode(file_get_contents($file));

// 輸出 <img> 標籤

echo '<img src="data:'.$fileData['MimeType'].';base64,'.$fileEncode.'"/>';
















留言
avatar-img
小黑與程式的邂逅
8會員
123內容數
嗨,我是一名程式設計師,會在這分享開發與學習紀錄。
2023/12/11
REST(REpresentational State Transfer)是一種WWW的Web架構,常被使用於JSON或XML的Web服務,而符合REST原則的系統就稱為RESTful。REST API(RESTful API)是一種符合REST的API應用。 方法說明 GET:向伺服器取得
Thumbnail
2023/12/11
REST(REpresentational State Transfer)是一種WWW的Web架構,常被使用於JSON或XML的Web服務,而符合REST原則的系統就稱為RESTful。REST API(RESTful API)是一種符合REST的API應用。 方法說明 GET:向伺服器取得
Thumbnail
2023/12/11
在欄位輸入關鍵字,就會顯示提示列表。 架構 由HTML表單、jQuery的AJAX和PHP與MySQL組成。 先在HTML的文字輸入欄位,輸入關鍵字,接著會呼叫jQuery的AJAX去伺服器,取得建議列表;伺服器收到需求後,PHP會連接MySQL,取得建議列表,接著會建立JSON文件並回傳。
Thumbnail
2023/12/11
在欄位輸入關鍵字,就會顯示提示列表。 架構 由HTML表單、jQuery的AJAX和PHP與MySQL組成。 先在HTML的文字輸入欄位,輸入關鍵字,接著會呼叫jQuery的AJAX去伺服器,取得建議列表;伺服器收到需求後,PHP會連接MySQL,取得建議列表,接著會建立JSON文件並回傳。
Thumbnail
2023/12/07
JSON(JavaScript Object Notation)是AJAX(參考:[PHP][AJAX]介紹)常用的資料交換格式。在PHP有提供函數,可以將資料轉換成JSON。除外JSON比XML快速且簡單。 語法 資料是由鍵和值(Key-value)組成。 鍵和值之間用「:」區隔。 資料之
Thumbnail
2023/12/07
JSON(JavaScript Object Notation)是AJAX(參考:[PHP][AJAX]介紹)常用的資料交換格式。在PHP有提供函數,可以將資料轉換成JSON。除外JSON比XML快速且簡單。 語法 資料是由鍵和值(Key-value)組成。 鍵和值之間用「:」區隔。 資料之
Thumbnail
看更多
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
底下是HTML的上傳檔案程式碼: <form action="upload.php" method="post" enctype="multipart/form-data"> 選擇檔案: <input type="file" name="file"/><hr/> <input typ
Thumbnail
底下是HTML的上傳檔案程式碼: <form action="upload.php" method="post" enctype="multipart/form-data"> 選擇檔案: <input type="file" name="file"/><hr/> <input typ
Thumbnail
檔案屬性 filetype(string):回傳參數檔案的種類字串,可能的回傳值有:fifo、char、dir、block、link、file和unknown,如果有錯誤回傳false。 fileatime(string):回傳參數檔案的最後存取時間,單位是UNIX的時間戳記,如果錯誤回傳fal
Thumbnail
檔案屬性 filetype(string):回傳參數檔案的種類字串,可能的回傳值有:fifo、char、dir、block、link、file和unknown,如果有錯誤回傳false。 fileatime(string):回傳參數檔案的最後存取時間,單位是UNIX的時間戳記,如果錯誤回傳fal
Thumbnail
路徑處理 basename(string [.string]):回傳第一個參數路徑字串的檔案名稱,包含副檔案,如果有第二個參數字串,就會在檔案名稱刪除此字串,例如:刪除副檔名".php"。 dirname(string):回傳參數路徑字串中的路徑。 realpath(string):回傳參數路
Thumbnail
路徑處理 basename(string [.string]):回傳第一個參數路徑字串的檔案名稱,包含副檔案,如果有第二個參數字串,就會在檔案名稱刪除此字串,例如:刪除副檔名".php"。 dirname(string):回傳參數路徑字串中的路徑。 realpath(string):回傳參數路
Thumbnail
檔案存取 路徑與檔案處理是很常用的功能,他們可以獨立運作,但是常常搭配一起使用,如果你處理的檔案是在當下的目錄,可以不需要使用路徑的功能單獨讀寫檔案,如果是想要做一些資料夾的管理,就需要理解路徑和檔案之間的關係。
Thumbnail
檔案存取 路徑與檔案處理是很常用的功能,他們可以獨立運作,但是常常搭配一起使用,如果你處理的檔案是在當下的目錄,可以不需要使用路徑的功能單獨讀寫檔案,如果是想要做一些資料夾的管理,就需要理解路徑和檔案之間的關係。
Thumbnail
NodeJS 學習來到 file systems 操作,在文檔操作上有分為同步跟異步的處理,接下來分階段介紹操作函數
Thumbnail
NodeJS 學習來到 file systems 操作,在文檔操作上有分為同步跟異步的處理,接下來分階段介紹操作函數
Thumbnail
在第十四課中,我們將探討 Python 中的檔案操作,包括如何讀取、寫入和管理文件。這對於許多實際應用場景都是必要的,例如日誌記錄、資料分析和資料持久化。
Thumbnail
在第十四課中,我們將探討 Python 中的檔案操作,包括如何讀取、寫入和管理文件。這對於許多實際應用場景都是必要的,例如日誌記錄、資料分析和資料持久化。
Thumbnail
在這篇文章中,我將簡要介紹如何使用Python來處理文件,包括如何打開、讀取、寫入和關閉文件。我也會給出一些範例程式碼和註解,讓你更容易理解和學習。要打開一個文件,我們需要使用open()函數,它接受文件名稱和模式兩個參數。文件名稱是一個字串,表示要訪問的文件的路徑和名稱。
Thumbnail
在這篇文章中,我將簡要介紹如何使用Python來處理文件,包括如何打開、讀取、寫入和關閉文件。我也會給出一些範例程式碼和註解,讓你更容易理解和學習。要打開一個文件,我們需要使用open()函數,它接受文件名稱和模式兩個參數。文件名稱是一個字串,表示要訪問的文件的路徑和名稱。
Thumbnail
到目前為止,我們都還是在附檔名為.py的Python檔案執行程式碼,當程式需要與外部的檔案互動,例如讀取文字、表格、或是影像來做分析,或是把程式執行的結果儲存下來,就需要能夠存取外部的檔案。例如,在上一節中,當貪食蛇遊戲結束之後,隨著程式停止執行,該次的分數也就被丟棄,若能將分數記錄下來,下次遊戲開
Thumbnail
到目前為止,我們都還是在附檔名為.py的Python檔案執行程式碼,當程式需要與外部的檔案互動,例如讀取文字、表格、或是影像來做分析,或是把程式執行的結果儲存下來,就需要能夠存取外部的檔案。例如,在上一節中,當貪食蛇遊戲結束之後,隨著程式停止執行,該次的分數也就被丟棄,若能將分數記錄下來,下次遊戲開
Thumbnail
進入目錄、列出目錄列表、讀取檔案內容、寫入檔案(資料)、變更檔案名稱、刪除檔案、目錄內新增檔案、變更目錄名稱、刪除目錄
Thumbnail
進入目錄、列出目錄列表、讀取檔案內容、寫入檔案(資料)、變更檔案名稱、刪除檔案、目錄內新增檔案、變更目錄名稱、刪除目錄
Thumbnail
檔案路徑(相對路徑、絕對路徑)、檔案讀入,匯出
Thumbnail
檔案路徑(相對路徑、絕對路徑)、檔案讀入,匯出
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News