php读取本地文件常用函数(fopen与file_get_contents)


Posted in PHP onSeptember 09, 2013

下面我们以.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 ‘文件不存在';}

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

PHP 相关文章推荐
文件上传类
Oct 09 PHP
简单介绍下 PHP5 中引入的 MYSQLI的用途
Mar 19 PHP
PHP 开发环境配置(Zend Server安装)
Apr 28 PHP
在项目中寻找代码的坏命名
Jul 14 PHP
php数组去重实例及分析
Nov 26 PHP
PHP获取MySql新增记录ID值的3种方法
Jun 24 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
Aug 18 PHP
php实现和c#一致的DES加密解密实例
Jul 24 PHP
PHP实现微信退款的方法示例
Mar 26 PHP
tp5 实现列表数据根据状态排序
Oct 18 PHP
Thinkphp5框架异常处理操作实例分析
Jun 03 PHP
php命令行模式代码实例详解
Feb 26 PHP
PHP函数之日期时间函数date()使用详解
Sep 09 #PHP
PHP json_encode中文乱码问题的解决办法
Sep 09 #PHP
分享PHP header函数使用教程
Sep 05 #PHP
php增删改查示例自己写的demo
Sep 04 #PHP
php使用异或实现的加密解密实例
Sep 04 #PHP
PHP中数组定义的几种方法
Sep 01 #PHP
对淘宝URL中ID提取的PHP代码
Sep 01 #PHP
You might like
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
JQuery AJAX 中文乱码问题解决
2013/06/05 Javascript
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
基于NodeJS的前后端分离的思考与实践(五)多终端适配
2014/09/26 NodeJs
JS+CSS实现Div弹出窗口同时背景变暗的方法
2015/03/04 Javascript
jquery简单实现网页层的展开与收缩效果
2015/08/07 Javascript
javascript中Array()数组函数详解
2015/08/23 Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
2017/01/18 Javascript
javascript数据结构之串的概念与用法分析
2017/04/12 Javascript
JS实现HTML页面中动态显示当前时间完整示例
2018/07/30 Javascript
Vue实现table上下移动功能示例
2019/02/21 Javascript
微信小程序绘制图片发送朋友圈
2019/07/25 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
2020/08/14 Javascript
vue实现按钮切换图片
2021/01/20 Vue.js
[00:35]DOTA2上海特级锦标赛 Newbee战队宣传片
2016/03/03 DOTA
urllib2自定义opener详解
2014/02/07 Python
python实现数值积分的Simpson方法实例分析
2015/06/05 Python
python实现八大排序算法(2)
2017/09/14 Python
python中判断文件编码的chardet(实例讲解)
2017/12/21 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
python3.x实现base64加密和解密
2019/03/28 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
适合Python初学者的一些编程技巧
2020/02/12 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
俄罗斯卫浴采暖及维修用品超级市场:Dkrussia
2020/05/12 全球购物
.NET里面什么时候需要调用垃圾回收
2015/06/01 面试题
学年自我鉴定
2014/01/16 职场文书
小学生操行评语
2014/04/22 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
2014年教育工作总结
2014/11/26 职场文书
大学生逃课检讨书
2015/05/04 职场文书
关于销售人员的年终工作总结要点
2019/08/15 职场文书
Html5大屏数据可视化开发的实现
2021/06/11 HTML / CSS