
- PHP 教程
- PHP - 首頁
- PHP - 簡介
- PHP - 安裝
- PHP - 歷史
- PHP - 特性
- PHP - 語法
- PHP - Hello World
- PHP - 註釋
- PHP - 變數
- PHP - Echo/Print
- PHP - var_dump
- PHP - $ 和 $$ 變數
- PHP - 常量
- PHP - 魔術常量
- PHP - 資料型別
- PHP - 型別轉換
- PHP - 型別混合
- PHP - 字串
- PHP - 布林值
- PHP - 整數
- PHP - 檔案與 I/O
- PHP - 數學函式
- PHP - Heredoc & Nowdoc
- PHP - 複合型別
- PHP - 檔案包含
- PHP - 日期與時間
- PHP - 標量型別宣告
- PHP - 返回型別宣告
- PHP 運算子
- PHP - 運算子
- PHP - 算術運算子
- PHP - 比較運算子
- PHP - 邏輯運算子
- PHP - 賦值運算子
- PHP - 字串運算子
- PHP - 陣列運算子
- PHP - 條件運算子
- PHP - 展開運算子
- PHP - 空值合併運算子
- PHP - 鍵值比較運算子
- PHP 控制語句
- PHP - 決策
- PHP - If…Else 語句
- PHP - Switch 語句
- PHP - 迴圈型別
- PHP - For 迴圈
- PHP - Foreach 迴圈
- PHP - While 迴圈
- PHP - Do…While 迴圈
- PHP - Break 語句
- PHP - Continue 語句
- PHP 函式
- PHP - 函式
- PHP - 函式引數
- PHP - 按值傳遞
- PHP - 按引用傳遞
- PHP - 預設引數
- PHP - 具名引數
- PHP - 可變引數
- PHP - 返回值
- PHP - 傳遞函式
- PHP - 遞迴函式
- PHP - 型別提示
- PHP - 變數作用域
- PHP - 嚴格型別
- PHP - 匿名函式
- PHP - 箭頭函式
- PHP - 可變函式
- PHP - 區域性變數
- PHP - 全域性變數
- PHP 超全域性變數
- PHP - 超全域性變數
- PHP - $GLOBALS
- PHP - $_SERVER
- PHP - $_REQUEST
- PHP - $_POST
- PHP - $_GET
- PHP - $_FILES
- PHP - $_ENV
- PHP - $_COOKIE
- PHP - $_SESSION
- PHP 檔案處理
- PHP - 檔案處理
- PHP - 開啟檔案
- PHP - 讀取檔案
- PHP - 寫入檔案
- PHP - 檔案是否存在
- PHP - 下載檔案
- PHP - 複製檔案
- PHP - 追加檔案
- PHP - 刪除檔案
- PHP - 處理 CSV 檔案
- PHP - 檔案許可權
- PHP - 建立目錄
- PHP - 列出檔案
- 面向物件 PHP
- PHP - 面向物件程式設計
- PHP - 類與物件
- PHP - 建構函式與解構函式
- PHP - 訪問修飾符
- PHP - 繼承
- PHP - 類常量
- PHP - 抽象類
- PHP - 介面
- PHP - 特性
- PHP - 靜態方法
- PHP - 靜態屬性
- PHP - 名稱空間
- PHP - 物件迭代
- PHP - 封裝
- PHP - Final 關鍵字
- PHP - 過載
- PHP - 克隆物件
- PHP - 匿名類
- PHP Web 開發
- PHP - Web 概念
- PHP - 表單處理
- PHP - 表單驗證
- PHP - 表單郵件/URL
- PHP - 完整表單
- PHP - 檔案包含
- PHP - GET & POST
- PHP - 檔案上傳
- PHP - Cookie
- PHP - Session
- PHP - Session 選項
- PHP - 傳送郵件
- PHP - 清理輸入
- PHP - Post-Redirect-Get (PRG)
- PHP - 快閃記憶體訊息
- PHP 高階
- PHP - MySQL
- PHP.INI 檔案配置
- PHP - 陣列解構
- PHP - 編碼規範
- PHP - 正則表示式
- PHP - 錯誤處理
- PHP - Try…Catch
- PHP - Bug 除錯
- PHP - 針對 C 開發人員
- PHP - 針對 PERL 開發人員
- PHP - 框架
- PHP - Core PHP 與框架
- PHP - 設計模式
- PHP - 過濾器
- PHP - JSON
- PHP - 異常
- PHP - 特殊型別
- PHP - 雜湊
- PHP - 加密
- PHP - is_null() 函式
- PHP - 系統呼叫
- PHP - HTTP 認證
- PHP - 交換變數
- PHP - Closure::call()
- PHP - 過濾後的 unserialize()
- PHP - IntlChar
- PHP - CSPRNG
- PHP - 期望
- PHP - Use 語句
- PHP - 整數除法
- PHP - 已棄用的特性
- PHP - 已移除的擴充套件和 SAPI
- PHP - PEAR
- PHP - CSRF
- PHP - FastCGI 程序
- PHP - PDO 擴充套件
- PHP - 內建函式
- PHP 有用資源
- PHP - 速查表
- PHP - 問答
- PHP - 快速指南
- PHP - 線上編譯器
- PHP - 有用資源
- PHP - 討論
PHP - 檔案與 I/O
本章將解釋以下與檔案相關的函式:
- 開啟檔案
- 讀取檔案
- 寫入檔案
- 關閉檔案
開啟和關閉檔案
PHP 的 fopen() 函式用於開啟檔案。它需要兩個引數,首先是檔名,然後是操作模式。
檔案模式可以指定為此表中的六個選項之一。
序號 | 模式及用途 |
---|---|
1 |
r 僅開啟檔案以供讀取。 將檔案指標置於檔案開頭。 |
2 |
r+ 開啟檔案以供讀取和寫入。 將檔案指標置於檔案開頭。 |
3 |
w 僅開啟檔案以供寫入。 將檔案指標置於檔案開頭。 並將檔案截斷為零長度。如果檔案不存在 則嘗試建立檔案。 |
4 |
w+ 僅開啟檔案以供讀取和寫入。 將檔案指標置於檔案開頭。 並將檔案截斷為零長度。如果檔案不存在 則嘗試建立檔案。 |
5 |
a 僅開啟檔案以供寫入。 將檔案指標置於檔案末尾。 如果檔案不存在則嘗試建立檔案。 |
6 |
a+ 僅開啟檔案以供讀取和寫入。 將檔案指標置於檔案末尾。 如果檔案不存在則嘗試建立檔案。 |
如果嘗試開啟檔案失敗,則 fopen 返回 false,否則返回 檔案指標,該指標用於進一步讀取或寫入該檔案。
對開啟的檔案進行更改後,務必使用 fclose() 函式關閉它。fclose() 函式需要一個檔案指標作為其引數,然後在關閉成功時返回 true,如果失敗則返回 false。
讀取檔案
使用 fopen() 函式開啟檔案後,可以使用名為 fread() 的函式讀取它。此函式需要兩個引數。這些引數必須是檔案指標和以位元組表示的檔案長度。
可以使用 filesize() 函式查詢檔案長度,該函式以檔名作為引數,並返回以位元組表示的檔案大小。
因此,以下是使用 PHP 讀取檔案所需的步驟。
使用 fopen() 函式開啟檔案。
使用 filesize() 函式獲取檔案長度。
使用 fread() 函式讀取檔案內容。
使用 fclose() 函式關閉檔案。
示例
以下示例將文字檔案的內容分配給一個變數,然後在網頁上顯示這些內容。
<html> <head> <title>Reading a file using PHP</title> </head> <body> <?php $filename = "tmp.txt"; $file = fopen( $filename, "r" ); if( $file == false ) { echo ( "Error in opening file" ); exit(); } $filesize = filesize( $filename ); $filetext = fread( $file, $filesize ); fclose( $file ); echo ( "File size : $filesize bytes" ); echo ( "<pre>$filetext</pre>" ); ?> </body> </html>
它將產生以下結果:

寫入檔案
可以使用 PHP 的 fwrite() 函式寫入新檔案或將文字追加到現有檔案。此函式需要兩個引數,指定 檔案指標和要寫入的資料字串。可選地,可以包含第三個整型引數以指定要寫入的資料長度。如果包含第三個引數,則寫入將在達到指定的長度後停止。
示例
以下示例建立一個新的文字檔案,然後在其中寫入一個簡短的文字標題。關閉此檔案後,使用 file_exist() 函式確認其是否存在,該函式以檔名作為引數
<?php $filename = "/home/user/guest/newfile.txt"; $file = fopen( $filename, "w" ); if( $file == false ) { echo ( "Error in opening new file" ); exit(); } fwrite( $file, "This is a simple test\n" ); fclose( $file ); ?> <html> <head> <title>Writing a file using PHP</title> </head> <body> <?php $filename = "newfile.txt"; $file = fopen( $filename, "r" ); if( $file == false ) { echo ( "Error in opening file" ); exit(); } $filesize = filesize( $filename ); $filetext = fread( $file, $filesize ); fclose( $file ); echo ( "File size : $filesize bytes" ); echo ( "$filetext" ); echo("file name: $filename"); ?> </body> </html>
它將產生以下結果:

我們已經在 PHP 檔案系統函式 章中介紹了所有與檔案輸入和輸出相關的函式。