php讀取本地檔案常用函數

來源:互聯網
上載者:User

1.首先來介紹一下fopen()函數
下面我們給出了一個直接開啟本地檔案的代碼demo,必要的地方我們都已經加上了注釋:

 代碼如下 複製代碼

    //直接開啟一個本地檔案的執行個體代碼  
    <?php  
    //假若我們本地的檔案是一個名為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() 函數的執行個體代碼便如下:

 代碼如下 複製代碼

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

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

 代碼如下 複製代碼
    <?php  
    $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 ‘檔案不存在’;}

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.