php 讀取文件
我們?cè)谏弦还?jié)當(dāng)中,我們講到了可以進(jìn)行檔案操作。而讀取檔案是一個(gè)最常用的功能。
readfile讀取檔案
#那要如何讀取一個(gè)檔案呢?我們先學(xué)一個(gè)函數(shù)。
int readfile ( string $檔名)
功能:傳入一個(gè)檔案路徑,輸出一個(gè)檔案。
下面的這一段程式碼中,只要傳入檔案名稱或指定的檔案路徑就把檔案讀取出來了。
<?php //linux類的讀了方式 readfile("/home/paul/test.txt"); //windows類的讀取方式 readfile("c:\boot.ini"); ?>
注意:上面的程式碼中windows的斜線是\斜線,可能會(huì)轉(zhuǎn)義掉一些字元。因此,我們寫的時(shí)候?qū)懮蟽蓷l斜線。
file_get_contents開啟檔案
上面的是單純打檔案就直接輸出了,有沒有開啟檔案後,能夠賦值給一個(gè)變數(shù)的操作方式呢。
PHP當(dāng)然會(huì)提供這種方式。這個(gè)方式就是PHP開啟檔案並回傳內(nèi)容的方式之一,我們來看看函數(shù):
string file_get_contents ( string filename)
功能:傳入一個(gè)文件或文件路徑,開啟這個(gè)文件返回文件的內(nèi)容。文件的內(nèi)容是一個(gè)字串。
<?php $filename = 'NoAlike.txt'; $filestring = file_get_contents($filename); echo $filestring; ?>
上面的程式碼,就開啟了一個(gè)文件,並且將文件當(dāng)中的內(nèi)容進(jìn)行了輸出。
我們來針對(duì)之前的知識(shí)把程式碼進(jìn)行一下擴(kuò)充。用一用之前的知識(shí)點(diǎn)。
<?php //假設(shè)我們有一個(gè)多行的文件叫NoAlike.txt,沒有的話你可以新建一個(gè)這個(gè)文件 $filename = 'NoAlike.txt'; //打開這個(gè)文件,將文件內(nèi)容賦值給$filestring $filestring = file_get_contents($filename); //因?yàn)槊恳恍杏幸粋€(gè)回車即\n,我用\n來把這個(gè)字符串切割成數(shù)組 $filearray = explode("\n", $filestring); //把切割成的數(shù)組,下標(biāo)賦值給$key,值賦值給$val,每次循環(huán)將$key加1。 while (list($key, $val) = each($filearray)) { ++$key; $val = trim($val); //用的單引號(hào),單引號(hào)不解釋變量進(jìn)行了拼接而已 print 'Line' . $key .':'. $val.'<br />'; } ?>
上面,我們就把之前所學(xué)的知識(shí)進(jìn)行了組合。
fopen、fread、fclose操作讀取檔案
#上面file_get_contents開啟檔案的方式簡單、粗獷。下面的
resource fopen ( string $檔名, string 模式)
string fread ( resource $操作資源, int 讀取長度)
bool fclose ( resource $操作資源)
透過上面的函數(shù)我們來講解資源型別的通常操作方式:
##1 .開啟資源
2.使用相關(guān)函數(shù)進(jìn)行操作
#3.關(guān)閉資源
fopen函數(shù)?fopen函數(shù)的功能是開啟文件,參數(shù)主要有兩個(gè):
#1.檔案開啟的路徑
2.開啟文件的模式
返回類型是一個(gè)資源類型,我們第一次遇到了之前基礎(chǔ)類型的時(shí)候講到的資源類型。資源類型需要其他的函數(shù)來操作這個(gè)資源。所有的資源有開啟就要有關(guān)閉。
fread函數(shù)?函數(shù)的功能的功能是讀取開啟的檔案資源。讀取指定長度的檔案資源,讀取一部分向後移動(dòng)一部分。至到文件結(jié)尾。
fclose函數(shù)?fclose函數(shù)的功能是關(guān)閉資源。資源有開啟就有關(guān)閉。
了解完函數(shù),後兩個(gè)函數(shù)比較簡單。而fopen函數(shù)的模式到底是什麼,fopen的模式有下面幾個(gè),我們來講一下fopen的模式:
#r | |
r+ | |
w | |
w+ | |
a寫入方式打開,將檔案指標(biāo)指向檔案結(jié)尾。如果檔案不存在則嘗試建立 |
讀寫方式打開,將檔案指標(biāo)指向檔案結(jié)尾。如果檔案不存在則嘗試建立之
x
建立並以寫入方式打開,將檔案指標(biāo)指向檔案頭。如果檔案已存在,則 fopen() 呼叫失敗並傳回 FALSE,並產(chǎn)生一條 E_WARNING 層級(jí)的錯(cuò)誤訊息。如果檔案不存在則嘗試建立
x+
我們先會(huì)讀取檔案了,才能很好的掌握寫入檔案。 | 1.開啟檔案 |
#3.關(guān)閉檔案 | 其他注意事項(xiàng): |
模式
說明
windows下將\n轉(zhuǎn)為\ r\n