PHP文件操作(一) -- (學(xué)習(xí)筆記)

PHP文件操作常見錯(cuò)誤:

  • 編輯錯(cuò)誤的文件
  • 被垃圾數(shù)據(jù)填滿硬盤
  • 意外刪除文件內(nèi)容

一、 readfile() 函數(shù)
readfile() 函數(shù)讀取文件,并把它寫入輸出緩沖。

假設(shè)我們有一個(gè)名為 "webdictionary.txt" 的文本文件,存放在服務(wù)器上

AJAX = Asynchronous JavaScript and XML
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Structured Query Language
SVG = Scalable Vector Graphics
XML = EXtensible Markup Language

讀取此文件并寫到輸出流的 PHP 代碼如下:

<?php
echo readfile("webdictionary.txt");
?>

二、fopen() 函數(shù)
打開文件的更好的方法是通過(guò) fopen() 函數(shù)。此函數(shù)為您提供比 readfile() 函數(shù)更多的選項(xiàng)。

仍然假設(shè)我們有一個(gè)名為 "webdictionary.txt" 的文本文件,存放在服務(wù)器上

AJAX = Asynchronous JavaScript and XML
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Structured Query Language
SVG = Scalable Vector Graphics
XML = EXtensible Markup Language

讀取此文件:
fopen() 的第一個(gè)參數(shù)包含被打開的文件名,第二個(gè)參數(shù)規(guī)定打開文件的模式。

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");//如果不能打開文件,會(huì)輸出相應(yīng)信息
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile); //最后關(guān)閉文件
?>
PHP 文件打開模式匯總及描述.png

三、fread()函數(shù)
fread() 函數(shù)讀取打開的文件。
fread() 的第一個(gè)參數(shù)包含待讀取文件的文件名,第二個(gè)參數(shù)規(guī)定待讀取的最大字節(jié)數(shù)。

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?>

如上:代碼中把 "webdictionary.txt" 文件讀至結(jié)尾: fread($myfile,filesize("webdictionary.txt"));


四、fclose() 函數(shù)
fclose() 函數(shù)用于關(guān)閉打開的文件。
注釋:用完文件后把它們?nèi)筷P(guān)閉是一個(gè)良好的編程習(xí)慣。否則會(huì)占用服務(wù)器資源。
語(yǔ)法:fclose() 需要待關(guān)閉文件的名稱(或者存有文件名的變量):

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?>

五、feof() 函數(shù)
feof() 函數(shù)檢查是否已到達(dá) "end-of-file" (EOF)。
feof() 對(duì)于遍歷未知長(zhǎng)度的數(shù)據(jù)很有用。

下例逐行讀取 "webdictionary.txt" 文件,直到 end-of-file:

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// 輸出一行直到 end-of-file
while(!feof($myfile)) {
   echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>

六、fgetc() 函數(shù)
fgetc() 函數(shù)用于從文件中讀取單個(gè)字符。

下例逐字符讀取 "webdictionary.txt" 文件,直到 end-of-file:

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// 輸出單字符直到 end-of-file
while(!feof($myfile)) {
   echo fgetc($myfile);
}
fclose($myfile);
?>

注釋:在調(diào)用 fgetc() 函數(shù)之后,文件指針會(huì)移動(dòng)到下一個(gè)字符。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • #include void test1() { /* w:(1)文件存在,將文件清空,再進(jìn)行寫,(2)文件不存在,...
    踩在浪花上00閱讀 320評(píng)論 0 0
  • 一、php可以做什么 php是一種可以在服務(wù)器端運(yùn)行的編程語(yǔ)言,可以運(yùn)行在Web服務(wù)器端。 php是一門后臺(tái)編程語(yǔ)...
    空谷悠閱讀 3,280評(píng)論 4 97
  • 一、會(huì)話控制(session與cookie) 1.cookie簡(jiǎn)介 Cookie是存儲(chǔ)在客戶端瀏覽器中的數(shù)據(jù),我們...
    空谷悠閱讀 702評(píng)論 0 5
  • 1.創(chuàng)建文件夾 !/bin/sh mkdir -m 777 "%%1" 2.創(chuàng)建文件 !/bin/sh touch...
    BigJeffWang閱讀 10,495評(píng)論 3 53
  • 德清知道,接下來(lái)的決定可能讓他一生后悔,但手中刺骨的金屬刀把,一次次的提醒著他必須這樣做。 六月的夜里,...
    傀儡1022閱讀 201評(píng)論 0 0

友情鏈接更多精彩內(nèi)容