视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
php读取本地文件常用函数(fopen与file_get_contents)
2020-11-27 19:03:30 责编:小采
文档

下面我们以.txt文件为实例来介绍php读取本地文件的函数,读取文件我们可以利用fopen或file_get_contents来读取,file_get_contents更简单而fopen需要fread配合才可以显示读出的内容。

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 ‘文件不存在';}

这样可能更合理更实用哦。

下载本文
显示全文
专题