PHP fopen 函數語法規則
resource fopen ( string $filename , string $mode , bool $use_include_path = false , resource $context )
由語法規則中可以看到 fopen 總共有四個參數可以使用,最重要的是前面兩個,其中 $filename 是用來設定要開起的檔案名稱或 URL,第二個參數 $mode 則是用來設定開啟模式,例如唯讀(r)、讀寫(r+)、寫入(w)... 等,這些模式關係到 fopen 打開的文件能被操作的程度,第三個參數 $use_include_path 與第四個參數 $context 為非必要項目,後續會說明。當 PHP fopen 成功開啟一個檔案或 URL 會自動返回指針資源,若開啟失敗則返回 FALSE。
$filename - 指定要開啟的檔案或 URL,必須為 PHP 可開啟的權限與內容。
PHP fopen 函數常用模式表($mode)
模式 | 說明 |
'r' | 以閱讀模式開啟,指針指向文件開頭。 |
'r+' | 以讀寫模式開啟,指針指向文件開頭。 |
'w' | 以寫入模式開啟,指針指向文件開頭並將文件大小截為零。文件不存在時嘗試創建。 |
'w+' | 以讀寫模式開啟,指針指向文件開頭並將文件大小截為零。文件不存在時嘗試創建。 |
'a' | 以寫入模式開啟,指針指向文件尾端,如果文件不存在則嘗試創建。 |
'a+' | 以讀寫模式開啟,指針指向文件尾端,如果文件不存在則嘗試創建。 |
'x' | 創建並以寫入模式開啟,如果文件已經存在則 fopen 返回 false 並產生 E_WARNING 級別錯誤訊息 |
'x+' | 創建並以讀寫模式開啟,如果文件已經存在則 fopen 返回 false 並產生 E_WARNING 級別錯誤訊息 |
'c' | 以寫入模式打開文件,指針指向文件開頭,如果文件不存在,fopen 嘗試創建。 |
'c+' | 以讀寫模式打開文件,指針指向文件開頭,如果文件不存在,fopen 嘗試創建。 |
$context - PHP 5.0.0 新增功能,對上下文的支持。
PHP fopen 函數範例
<?php
$handle = fopen("/home/fopenbox/test.txt", "r");
$handle = fopen("/home/fopenbox/test.gif", "wb");
$handle = fopen("http://www.php.net", "r");
$handle = fopen("ftp://user:password@example.com/test.txt", "w");
?>
範例是常見的幾種 fopen 函數使用方式,第一行與第二行展示的都是開啟網頁根目錄的檔案,差別是採用何種模式開啟,第三行是開啟一個網頁內容,fopen 不只是可以開啟檔案,也可以開啟一的 URL 的內容,當然包含網頁內容,不過一般網頁都只能提供瀏覽者閱讀,所以我們的參數選用 "r",第四個則是以寫入模式開啟 FTP 上的一個檔案。以上就是 fopen 常見的用法,要注意檔案是否有開放讀取或寫入的權限,特別是要可以接受 fopen 的開啟,比較不會有錯誤的問題。$handle = fopen("/home/fopenbox/test.txt", "r");
$handle = fopen("/home/fopenbox/test.gif", "wb");
$handle = fopen("http://www.php.net", "r");
$handle = fopen("ftp://user:password@example.com/test.txt", "w");
?>
延伸閱讀