在處理檔案時,有時候會需要抓取整個檔案全部的內容,PHP提供了file_get_contents這個函式可以一次抓取完整檔案內容

$file = file_get_contents("test.txt");

因為file_get_conntents的參考路徑是"使用者執行程式的目錄",因此假設寫成工具在global或者是換個目錄執行就會找不到檔案,加入FILE_USE_INCLUDE_PATH參數可以加進該PHP檔案的路徑位置,因此可以從該檔案的原始路徑去參照

$file = file_get_contents("test.txt",FILE_USE_INCLUDE_PATH);

另外一般寫一些crawler多少都會用到截取某個網頁某個區塊的功能(使用file_get_contents抓取網頁雖然方便,但是效能與安全性都非常糟,所以建議還是使用curl)

$url = "http://127.0.0.1/index.php" ;
//取得該網頁html
$content = file_get_contents($url);

//搜尋<label>標籤內容
//單筆資料(s代表可接受換行)
preg_match("/<label>.*?</label>/s",$content,$matches);
print_r($matches);

//全文搜尋
preg_match_all("/<label>.*?</label>/s",$content,$matches);
print_r($matches);
Categories: PHP