php讀取本地檔案常用函數(fopen與file_get_contents)_PHP教程

來源:互聯網
上載者:User
下面我們以.txt檔案為執行個體來介紹php讀取本地檔案的函數,讀取檔案我們可以利用fopen或file_get_contents來讀取,file_get_contents更簡單而fopen需要fread配合才可以顯示讀出的內容。

1.首先來介紹一下fopen()函數

下面我們給出了一個直接開啟本地檔案的代碼demo,必要的地方我們都已經加上了注釋:

複製代碼 代碼如下:
//直接開啟一個本地檔案的執行個體代碼
//假若我們本地的檔案是一個名為xmlas.txt的文本
$filedemo = "xmlas.txt";
$fpdemo = fopen($filedemo,"r");
if ($fpdemo){
while(!feof($fpdemo)){
//1000讀取的字元數
$datademo = fread($fpdemo, 1000);
}
fclose($fpdemo);
}
echo $datademo;
?>

2.使用file_get_contents() 函數將整個檔案在一個字串中輸出:

假若我們的xmlas.txt文字檔中有這樣一句話:現在的電影越來越沒激情,想要全部高潮請看日本愛情

動作片!
那麼我們file_get_contents() 函數的執行個體代碼便如下:

複製代碼 代碼如下:
echo file_get_contents("xmlas.txt");
//此時輸出的內容便為xmlas.txt中的內容:
//現在的電影越來越沒激情,想要全部高潮請看日本愛情動作片!
?>

3.如何讀取本地的一個檔案夾而不是一個單獨檔案:
請看下面的執行個體代碼,在執行個體中我們將讀取一個名為xmlas的檔案夾:

複製代碼 代碼如下:
$dirdemo = opendir('/xmlas');
while(($filedemo = readdir($dirdemo))!=false){
if ($filedemo!="." && $filedemo!="..") {
$nsdemo = explode('.', $filedemo);
echo $nsdemo[0];
}
}
closedir($dirdemo);
?>

4.我們還可以利用fopen來寫檔案

複製代碼 代碼如下:
/**
*用fopen寫入檔案
*@param string $filename
*@param string $contents
*@return boolean
*/

function wirte($filename,&$contents)
{
$fp=fopen($filename,"wb");
if($fp)
{
flock($fp,LOCK_EX);//同一時間鎖定檔案,只能一個人操作
fwrite($fp,$contents);
flock($fp,LOCK_UN);//儲存資料握進行解鎖檔案並儲存
fclose($fp);
return true;
}else
{
return false;
}
}

這樣我只要利用fopen配合fwrite就可以實現檔案讀寫了。

注意:l開啟檔案

在開啟檔案檔案之前,我們需要知道這個檔案的路徑,以及此檔案是否存在。

用$_SERVER[“DOCUMENT_ROOT”]內建全域變數,來獲得網站的相對路徑。如下:

複製代碼 代碼如下: $root = $_SERVER[“DOCUMENT_ROOT”];

在用函數file_exists()來檢測檔案是否存在。如下:

複製代碼 代碼如下:
If(!file_exists("$root/order.txt")){echo ‘檔案不存在';}

這樣可能更合理更實用哦。

http://www.bkjia.com/PHPjc/313644.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/313644.htmlTechArticle下面我們以.txt檔案為執行個體來介紹php讀取本地檔案的函數,讀取檔案我們可以利用fopen或file_get_contents來讀取,file_get_contents更簡單而fopen需要...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.