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和XSL stylesheets转换XML文档
Oct 09 PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
Nov 23 PHP
PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)
Jul 02 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
Mar 20 PHP
destoon找回管理员密码的方法
Jun 21 PHP
浅析PHP中Session可能会引起并发问题
Jul 23 PHP
JavaScript与HTML结合的基本使用方法整理
Oct 12 PHP
/etc/php-fpm.d/www.conf 配置注意事项
Feb 04 PHP
PHP使用curl_multi_select解决curl_multi网页假死问题的方法
Aug 15 PHP
laravel5.6中的外键约束示例
Oct 23 PHP
深入分析PHP设计模式
Jun 15 PHP
phpstorm激活码2020附使用详细教程
Sep 25 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不用递归实现无限分级的例子分享
2014/04/18 PHP
PHP 5.3新增魔术方法__invoke概述
2014/07/23 PHP
php连接与操作PostgreSQL数据库的方法
2014/12/25 PHP
php获取文件名称和扩展名的方法
2017/02/07 PHP
IE的有条件注释判定IE版本详解(附实例代码)
2012/01/04 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
2014/08/27 Javascript
JavaScript中的console.group()函数详细介绍
2014/12/29 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
AngularJS 遇到的小坑与技巧小结
2016/06/07 Javascript
js实现移动端编辑添加地址【模仿京东】
2017/04/28 Javascript
浅谈Vue 数据响应式原理
2018/05/07 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
Python获取linux主机ip的简单实现方法
2016/04/18 Python
Python日期的加减等操作的示例
2017/08/15 Python
Python类装饰器实现方法详解
2018/12/21 Python
python将时分秒转换成秒的实例
2019/12/07 Python
Python内置方法实现字符串的秘钥加解密(推荐)
2019/12/09 Python
django执行原始查询sql,并返回Dict字典例子
2020/04/01 Python
python名片管理系统开发
2020/06/18 Python
python之随机数函数的实现示例
2020/12/30 Python
html5拍照功能实现代码(htm5上传文件)
2013/12/11 HTML / CSS
世界第一曲奇连锁店:Mrs. Fields Cookies
2017/02/04 全球购物
英国复古皮包品牌:Beara Beara
2018/07/18 全球购物
哥德堡通行证:Gothenburg Pass
2019/12/09 全球购物
万代美国官网:PREMIUM BANDAI USA
2020/09/11 全球购物
技术总监的工作职责
2013/11/13 职场文书
二手书店创业计划书
2014/01/16 职场文书
园林技术个人的自我评价
2014/02/15 职场文书
增员口号大全
2014/06/18 职场文书
小学德育工作总结2015
2015/05/12 职场文书
关于springboot配置druid数据源不生效问题(踩坑记)
2021/09/25 Java/Android
分享五个Node.js开发的优秀实践 
2022/04/07 NodeJs
CentOS 7安装mysql5.7使用XtraBackUp备份工具命令详解
2022/04/12 MySQL