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 相关文章推荐
PHP 开发环境配置(Zend Studio)
Apr 28 PHP
PHP循环结构实例讲解
Feb 10 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
Aug 21 PHP
ThinkPHP控制器间实现相互调用的方法
Oct 31 PHP
简单实用的PHP防注入类实例
Dec 05 PHP
php使用gzip压缩传输js和css文件的方法
Jul 29 PHP
php函数传值的引用传递注意事项分析
Jun 25 PHP
PHP后端银联支付及退款实例代码
Jun 23 PHP
PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析
Jul 03 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
Laravel统计一段时间间隔的数据方法
Oct 09 PHP
PHP xpath提取网页数据内容代码解析
Jul 16 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
PHP开发框架kohana3 自定义路由设置示例
2014/07/14 PHP
PHP版微信公众平台红包API
2015/04/02 PHP
php实现36进制与10进制转换功能示例
2017/01/10 PHP
基于jQuery的仿flash的广告轮播代码
2010/11/04 Javascript
JQuery入门—JQuery程序的代码风格详细介绍
2013/01/03 Javascript
jquery图片放大功能简单实现
2013/08/01 Javascript
javascript分页代码实例分享(js分页)
2013/12/13 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
2014/06/16 Javascript
自己动手写的jquery分页控件(非常简单实用)
2015/10/28 Javascript
jQuery验证插件validate使用方法详解
2020/09/13 Javascript
小程序实现展开/收起的效果示例
2018/09/22 Javascript
一文快速详解前端框架 Vue 最强大的功能
2019/05/21 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
2019/10/30 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
[49:42]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第一局
2016/03/04 DOTA
python中将正则过滤的内容输出写入到文件中的实例
2018/10/21 Python
Python3.5集合及其常见运算实例详解
2019/05/01 Python
Python实现屏幕录制功能的代码
2020/03/02 Python
python如何输出反斜杠
2020/06/18 Python
教你如何用python操作摄像头以及对视频流的处理
2020/10/12 Python
使用python实现学生信息管理系统
2021/02/25 Python
CSS3模拟IOS滑动开关效果
2016/09/28 HTML / CSS
HTML5 File API改善网页上传功能
2009/08/19 HTML / CSS
html5需遵循的6个设计原则
2016/04/27 HTML / CSS
Html5监听手机摇一摇事件的实现
2019/11/07 HTML / CSS
Hoka One One法国官网:美国专业跑鞋品牌
2018/12/29 全球购物
string = null 和string = ''的区别
2013/04/28 面试题
应届生会计电算化求职信
2013/10/03 职场文书
大学本科毕业生求职信范文
2013/12/18 职场文书
优秀员工推荐信
2014/05/10 职场文书
科学发展观活动总结
2014/08/28 职场文书
商品陈列协议书
2014/09/29 职场文书
2014年科室工作总结
2014/11/20 职场文书
教育实习指导教师评语
2014/12/31 职场文书
云冈石窟导游词
2015/02/04 职场文书
电台广播稿范文
2015/08/19 职场文书