程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php 使用fopen函數創建、打開文件詳解及實例代碼

php 使用fopen函數創建、打開文件詳解及實例代碼

編輯:PHP綜合

php中沒有單獨的文件創建函數,如果我們想創建函數,可以使用fopen(),fopen()函數字面意思是打開文件,但該函數也有創建文件的功能,當使用 fopen() 函數打開一個文件時,如果文件不存在,則會嘗試創建該文件,並返回一個資源。

php fopen函數介紹

fopen函數打開文件或者 URL

語法:

resource fopen( string filename, string mode )

fopen()將 filename 指定的名字資源綁定到一個流上。

參數:

1. filename為嘗試打開/創建的文件名。

如果 filename 是 "scheme://..." 的格式,則被當成一個 URL,PHP 將搜索協議處理器(也被稱為封裝協議)來處理此模式。如果該協議尚未注冊封裝協議,PHP 將發出一條消息來幫助檢查腳本中潛在的問題並將 filename 當成一個普通的文件名繼續執行下去。

如果 PHP 認為 filename 指定的是一個本地文件,將嘗試在該文件上打開一個流。該文件必須是 PHP 可以訪問的,因此需要確認文件訪問權限允許該訪問。如果激活了安全模式或者 open_basedir 則會應用進一步的限制。

如果 PHP 認為 filename 指定的是一個已注冊的協議,而該協議被注冊為一個網絡 URL,PHP 將檢查並確認 allow_url_fopen 已被激活。如果關閉了,PHP 將發出一個警告,而 fopen 的調用則失敗。

2. mode 指定了打開模式,其可能的值如下:

打開模式 說明 r 只讀,並將文件指針指向文件開始位置 r+ 讀寫,將文件指針指向文件開始位置 w 只寫,將文件指針指向文件開始位置並將文件內容清空,如果文件不存在則嘗試創建之 w+ 讀寫,將文件指針指向文件開始位置並將文件內容清空,如果文件不存在則嘗試創建之 a 追加,將文件指針指向文件末尾來操作,如果文件不存在則嘗試創建之 a+ 讀寫追加,將文件指針指向文件末尾來操作,如果文件不存在則嘗試創建之 x 只寫,並創建文件,如果文件已存在,則 fopen() 調用失敗並返回 FALSE x+ 讀寫,並創建文件,如果文件已存在,則 fopen() 調用失敗並返回 FALSE
 

php fopen函數實例

1、使用fopen函數創建文件:

$my_file = 'file.txt';//如果文件不存在(默認為當前目錄下)
$handle = fopen($my_file, 'w') or die('Cannot open file: '.$my_file); //implicitly creates file

2、使用fopen函數打開文件:

$my_file = 'file.txt';//假設文件file.txt存在
$handle = fopen($my_file, 'w') or die('Cannot open file: '.$my_file); //open file for writing ('w','r','a')...


3、fopen函數結合fread讀取文件:

$my_file = 'file.txt';
$handle = fopen($my_file, 'r');
$data = fread($handle,filesize($my_file));


4、fopen函數結合fwrite函數寫文件

$my_file = 'file.txt';
$handle = fopen($my_file, 'w') or die('Cannot open file: '.$my_file);
$data = 'This is the data';
fwrite($handle, $data);

5、fopen函數結合fwrite函數向文件中追加內容:

$my_file = 'file.txt';
$handle = fopen($my_file, 'a') or die('Cannot open file: '.$my_file);
$data = 'New data line 1';
fwrite($handle, $data);
$new_data = "\n".'New data line 2';
fwrite($handle, $new_data);

6、fopen() 函數還可用於打開互聯網上的 URL 地址:

<?php
$fh = fopen("http://www.baidu.com/", "r");
if($fh){
  while(!feof($fh)) {
    echo fgets($fh);
  }
}
?>

注意:fopen() 返回的只是一個資源,要想顯示打開的頁面地址,還需要用 fgets() 函數讀取並輸出。

通過此文希望能幫助到大家,謝謝大家對本站的支持!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved