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 相关文章推荐
Fine Uploader文件上传组件应用介绍
Jan 06 PHP
php设计模式之命令模式的应用详解
May 21 PHP
PHP中的插件机制原理和实例
Jul 08 PHP
QQ互联一键登录审核不通过的解决方案
Sep 10 PHP
php银联网页支付实现方法
Mar 04 PHP
php通过前序遍历树实现无需递归的无限极分类
Jul 10 PHP
php实现给一张图片加上水印效果
Jan 02 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
Jun 07 PHP
PHP实现的折半查找算法示例
Dec 19 PHP
PHP+Ajax实现的检测用户名功能简单示例
Feb 12 PHP
Laravel框架Auth用户认证操作实例分析
Sep 29 PHP
PHP程序守护进程化实现方法详解
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中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
2011/05/04 PHP
浅析php单例模式
2014/11/25 PHP
PHP中的session安全吗?
2016/01/22 PHP
php面向对象程序设计中self与static的区别分析
2019/05/21 PHP
封装好的省市地区联动控件附下载
2007/08/13 Javascript
jQuery 使用手册(五)
2009/09/23 Javascript
actionscript与javascript的区别
2011/05/25 Javascript
学习从实践开始之jQuery插件开发 菜单插件开发
2012/05/03 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
初识SmartJS - AOP三剑客
2014/06/08 Javascript
js中this的用法实例分析
2015/01/10 Javascript
jQuery获取上传文件的名称的正则表达式
2015/05/21 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
jQuery Mobile开发中日期插件Mobiscroll使用说明
2016/03/02 Javascript
使用jQuery UI库开发Web界面的简单入门指引
2016/04/22 Javascript
全面解析JavaScript中“&amp;&amp;”和“||”操作符(总结篇)
2016/07/18 Javascript
原生JavaScript实现的简单省市县三级联动功能示例
2017/05/27 Javascript
element-ui组件table实现自定义筛选功能的示例代码
2019/03/15 Javascript
小程序组件之自定义顶部导航实例
2019/06/12 Javascript
详解微信小程序「渲染层网络层错误」的解决方法
2021/01/06 Javascript
Python中urllib+urllib2+cookielib模块编写爬虫实战
2016/01/20 Python
基于Django的ModelForm组件(详解)
2017/12/07 Python
python读取图片并修改格式与大小的方法
2018/07/24 Python
windows下pycharm安装、创建文件、配置默认模板
2018/07/31 Python
Pycharm+Python+PyQt5使用详解
2019/09/25 Python
MNIST数据集转化为二维图片的实现示例
2020/01/10 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
2020/04/15 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
2021/02/27 Python
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
2013/04/22 HTML / CSS
购买中国最好的电子产品:Geekbuying
2018/03/13 全球购物
个人求职信范文分享
2013/12/13 职场文书
优秀毕业生求职信范文
2014/01/02 职场文书
大学新生欢迎词
2014/01/10 职场文书
车间班组长竞聘书
2015/09/15 职场文书
丧事酒宴答谢词
2015/09/30 职场文书
为什么说餐饮很难做,是因为你不了解这些新规则
2019/08/20 职场文书