fopen() 函式用於在 php 中開啟檔案。
此函式的第乙個引數含有要開啟的檔案的名稱,第二個引數規定了使用哪種模式來開啟檔案:
<?php
$file=fopen("welcome.txt","r");
?>
檔案可能通過下列模式來開啟:
模式描述
r唯讀。在檔案的開頭開始。
r+讀/寫。在檔案的開頭開始。
w只寫。開啟並清空檔案的內容;如果檔案不存在,則建立新檔案。
w+讀/寫。開啟並清空檔案的內容;如果檔案不存在,則建立新檔案。
a追加。開啟並向檔案末尾進行寫操作,如果檔案不存在,則建立新檔案。
a+讀/追加。通過向檔案末尾寫內容,來保持檔案內容。
x只寫。建立新檔案。如果檔案已存在,則返回 false 和乙個錯誤。
x+讀/寫。建立新檔案。如果檔案已存在,則返回 false 和乙個錯誤。
注釋:如果 fopen() 函式無法開啟指定檔案,則返回 0 (false)。
如果 fopen() 函式不能開啟指定的檔案,下面的例項會生成一段訊息:
<?php
$file=fopen("welcome.txt","r") or exit("unable to open file!");
?>
fclose() 函式用於關閉開啟的檔案:
<?php
$file = fopen("test.txt","r");
//執行一些**
fclose($file);
?>
feof() 函式檢測是否已到達檔案末尾(eof)。
在迴圈遍歷未知長度的資料時,feof() 函式很有用。
注釋:在 w 、a 和 x 模式下,您無法讀取開啟的檔案!
if (feof($file)) echo "檔案結尾";
fgets() 函式用於從檔案中逐行讀取檔案。
下面的例項逐行讀取檔案,直到檔案末尾為止:
<?php
$file = fopen("welcome.txt", "r") or exit("無法開啟檔案!");
// 讀取檔案每一行,直到檔案結尾
while(!feof($file))
fclose($file);
?>
php對逗號分隔符檔案(*.csv)的處理。
當如果你需要處理的資料比較少時可以使用csv檔案(這是一類文字檔案)儲存資料更加便利。
比如在php**同目錄下有乙個a.csv檔案,內容如下:(注意逗號是半形英文)
小王,小紅,小明,小凡
php**如何:
<?php
$fh=fopen("a.csv","r");//這裡我們只是讀取資料,所以採用唯讀開啟檔案流
$arr=fgetcsv($fh);//這個函式就是讀取csv檔案的函式,他把文字讀入後轉為陣列儲存在$arr中
fclose($fh);
foreach($arr as $key=>$value)//迴圈輸出所有的值
?>
注意:csv文字編碼必須和html的編碼相同,否則用php寫到html中,使用者會看到亂碼。也可以使用 iconv 轉碼函式進行轉碼。
如果開啟乙個檔案,檔名為中文,如果系統程式設計和當前文件編碼不一致,會導致檔案找不到無法開啟,解決方法是用iconv函式編碼轉換成一致,如下:
$fpath=iconv('utf-8','gb2312',"題庫.csv");
$file=fopen($fpath,"r") or exit("無法開啟檔案!");
//此處省略相關操作
fclose($file);
用相對路徑打不開子目錄中的檔案時,可用絕對路徑開啟,如下:
$file=fopen(dirname(__file__).'\\files\\tk.csv',"r") or exit("無法開啟檔案!");
//此處省略相關操作
fclose($file);
參考: PHP 檔案處理
一 將資料寫入乙個檔案 1 開啟這個檔案 如果不存在 則建立 使用fopen 函式 fp fopen path w 第乙個引數 路徑 注意相對路徑和絕對路徑的區別 path server document root 該內建變數代表web伺服器的根目錄 第二個引數 檔案模式 r 唯讀 讀模式 開啟檔案...
php檔案處理
當程式執行時的資料是存放在記憶體中的,比如變數 常量等 想要長期儲存程式執行完畢所產生的資料,我們可以利用檔案的方式儲存到硬碟上!檔案型別 可以通過filetype 獲取乙個檔案的型別 windows最常見的只有dir和file 判斷檔案型別 is dir 路徑 判斷是否是目錄 is file 路徑...
PHP檔案處理
1.開啟檔案 fopen filename,mode filename 表示要開啟的檔案路徑 mode 表示開啟的方式 讀,寫 例如 fopen file ab 強烈建議用fopen 開啟檔案時總是使用標記 b r 唯讀方式開啟,將檔案指標指向檔案頭。r 讀寫方式開啟,將檔案指標指向檔案頭。w 寫入...