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