PHP讀取檔案的多種方法

2021-09-08 17:34:02 字數 1687 閱讀 2299

feof:file、end of file

例子:

$file_handle = fopen("c:\\myfile.txt", "r");//使用fopen開啟與檔案的連線

while (!feof($file_handle))

fclose($file_handle); //最後使用fclose關閉與檔案的連線

過程: 1. fopen -> feof -> fgets -> fclose

開啟             讀取             關閉

注意:如果是從二進位制檔案讀取以獲得跨平台相容性,則應當將r更改為rb

fgetss() 函式從開啟的檔案中讀取一行並過濾掉 html 和 php 標記。

與 fgets() 相同,不同的是 fgetss 嘗試從讀取的文字中去掉任何 html 和 php 標記。

例子:

<?php

$file = fopen("test.htm","r");

echo fgetss($file);

fclose($file);

?>

當然也可以通過傳遞第三個引數來指定哪些標記是允許輸出的:

<?php

$file = fopen("test.htm","r");

echo fgetss($file,1024,",");//和標記將不會被過濾

fclose($file);

?>

詳細資訊參考:

同樣需要開啟檔案連線 fopen    

$fh = fopen("c:\\myfile.txt", "rb");//rb是相容二進位制讀取

$data = fread($fh, filesize("c:\\myfile.txt"));

fclose($fh);

特別注意:fread()雖然可以通過第二個引數來指定讀取檔案的長度,但最長只能讀取8192個位元組(8kb),

如果檔案長度超過8k則需要迴圈讀取

詳細可見:php的file_get_contents()方法,將整個檔案讀入字串中

<?php

print_r(file("c:\\abc.txt"));//結果將abc.txt檔案的每一行當成陣列的每個元素返回

?>

以上函式只允許順序讀取檔案,當需要來回跳轉到檔案的不同部分。這時就得用 fseek 。

5.1. fseek($fh, 0); //跳轉回檔案的開頭

5.2. fseek($fh, 1024);//返回前1024位元組前面

從 php v4.0 新增功能:

5.3. fseek($fh, 100, seek_cur);//從當前位置向前跳轉 100 個位元組

5.4. fseek($fh, -100, seek_cur);//向後跳轉 100 個位元組

5.5. fseek($fh, -100, seek_end);//向後跳轉至檔案末尾前 100 個位元組處

參考:

php 讀取檔案的幾種方法

檔案操作的三個步驟,開啟,操作,關閉。fopen fopen 路徑,方式 fwrite fopen,寫入的字串 fclose fopen 其中開啟方式有如下幾種方式 模式描述 r唯讀。在檔案的開頭開始。r 讀 寫。在檔案的開頭開始。w只寫。開啟並清空檔案的內容 如果檔案不存在,則建立新檔案。w 讀 ...

php生成靜態檔案的多種方法分享

第一種 將php動態頁面內容生成靜態 複製 如下 ob start 開啟伺服器快取 include once index.php ctx ob get contents 獲取快取 ob end clean 清空快取 fh fopen index.html w fwrite fh,ctx 寫入html...

PHP快取技術的多種方法

普遍快取技術 資料快取 這裡所說的資料快取是指資料庫查詢php快取機制,每次訪問頁面的時候,都會先檢測相應的快取資料是否存在,如果不存在,就連線資料庫,得到資料,並把查詢結果序列化後儲存到檔案中,以後同樣的查詢結果就直接從快取表或檔案中獲得。用的最廣的例子看discuz的搜尋功能,把結果id快取到乙...