php讀寫文件操作
- 來源:縱橫數據
- 作者:中橫科技
- 時間:2022/8/18 17:22:15
- 類別:新聞資訊
1,PHP如何打開文件
使用PHP函數fopen()打開一個文件,fopen()一般使用2個參數表示打開文件的路徑和文件模式。比如:
$fp=fopen("../test.txt",'w');
其中 "../test.txt" 就表示打開的test.txt文件的路徑(相對當前執行程序文件的路徑),'w'表示以只寫的方式打開該文本文件。
附錄:fopen()函數的文件模式總結
r 只讀——讀模式,打開文件,從文件頭開始讀
r+ 可讀可寫方式打開文件,從文件頭開始讀寫
w 只寫——寫方式打開文件,同時把該文件內容清空,把文件指針指向文件開始處。如果該文件已經存在,將刪除文件已有內容;如果該文件不存在,則建立該文件
w+ 可讀可寫方式打開文件,同時把該文件內容清空,把文件指針指向文件開始處。如果該文件不存在,則建立該文件
a 追加 以只寫方式打開文件,把文件指針指向文件末尾處。如果該文件不存在,則建立該文件
a+ 追加 以可讀可寫方式打開文件,把文件指針指向文件末尾處。如果該文件不存在,則建立該文件
b 二進制 用于于其他模式進行連接。建議使用該選項,以獲得更大程度的可移植性
注意,如果fopen()函數調用失敗,函數將返回false。否則返回指針數據。所以一般在打開了文件后\讀寫文件前需要檢測下文件是否存在。
<?php
@ $fp=fopen("//zhidao.zgsj.com/abc123",'w');
if (!$fp)
{
echo'文件不存在';
exit;
}
?>
其中@符號表示PHP將抑制所有由當前函數調用產生的錯誤。
2,PHP讀文件
在PHP打開了文件之后就需要對文件進行讀取,一般是使用fgets()函數。
該函數可以從文件中每次讀取一行內容,其不斷讀入數據,值到遇到本行的換行符,或者全文的結束符號EOF。
介于fgets()函數只能讀取一行數據,所以若需要讀取文件的所有數據,須使用循環語句來完成。比如:
while (!feof($fp))
{
$bruce=fgets($fp); //php讀文件
echo $bruce;
}
其中feof()函數是用來檢測文件是否結束的。該函數唯一參數就是文件指針(即$fp對應打開的文件)。
當然,在PHP中還可以使用readfile()函數一次讀取整個文件。該函數包括了打開文件、讀取文件并輸出到瀏覽器中和關閉文件。比如:
<?php
$bruce=readfile("//zhidao.zgsj.com");
echo $bruce;
?>
3,PHP關閉文件
使用函數fclose()就可以將文件關閉。
二,PHP寫文件
與PHP讀文件一樣,PHP寫文件也需要:打開文件、寫入數據和關閉文件。打開和關閉文件的方法上面已經說明,那PHP中寫入數據到文件是怎樣的呢。
使用fwrite()函數,比如fwrite(文件路徑,寫入內容):
<?php
$bruce=fopen("//zhidao.zgsj.com/","r")
if(!$bruce)
{
echo'文件不存在';
exit;
}
while (!feof($bruce))
{
$rose=fgets($bruce); //php讀文件
$james=fopen("index.htm","a");
fwrite($james,$rose); //php寫文件
fclose($james);
}
fclose($bruce);
?>
的內容生成了本地文件</a>
了解了PHP的讀寫文件,就可以把最簡單的數據存入文本保存了。
=============================
其他有用的文件函數:
file_exists():查看文件是否存在,返回布爾值
filesize():查看文件大小,可直接echo輸出
unlink():刪除文件,注意PHP中沒有delete函數。