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字符编码问题之GB2312 VS UTF-8解决方法
Jun 23 PHP
使用JSON实现数据的跨域传输的php代码
Dec 20 PHP
PHP中call_user_func_array()函数的用法演示
Feb 05 PHP
Memcached常用命令以及使用说明详解
Jun 27 PHP
CodeIgniter使用phpcms模板引擎
Nov 12 PHP
php中自定义函数dump查看数组信息类似var_dump
Jan 27 PHP
php中将一个对象保存到Session中的方法
Mar 13 PHP
PHP开启opcache提升代码性能
Apr 26 PHP
基于php判断客户端类型
Oct 14 PHP
详解PHP用substr函数截取字符串中的某部分
Dec 03 PHP
Mac系统完美安装PHP7详细教程
Jun 06 PHP
php-beanstalkd消息队列类实例分享
Jul 19 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
重新封装zend_soap实现http连接安全认证的php代码
2011/01/12 PHP
php 错误处理经验分享
2011/10/11 PHP
PHP fopen 读取带中文URL地址的一点见解
2012/09/25 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
php 将json格式数据转换成数组的方法
2018/08/21 PHP
PHP的PDO大对象(LOBs)
2019/01/27 PHP
飞鱼(shqlsl) javascript作品集
2006/12/16 Javascript
使用prototype.js 的时候应该特别注意的几个问题.
2007/04/12 Javascript
用jQuery扩展自写的 UI导航
2010/01/13 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
JavaScript如何动态创建table表格
2020/08/02 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
2016/01/03 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
Javascript点击其他任意地方隐藏关闭DIV实例
2016/06/21 Javascript
80%应聘者都不及格的JS面试题
2017/03/21 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
2017/03/28 jQuery
JavaScript引用类型Date常见用法实例分析
2018/08/08 Javascript
JS前端知识点 运算符优先级,URL编码与解码,String,Math,arguments操作整理总结
2019/06/27 Javascript
js全屏事件fullscreenchange 实现全屏、退出全屏操作
2019/09/17 Javascript
vue中是怎样监听数组变化的
2020/10/24 Javascript
关于Vue中$refs的探索浅析
2020/11/05 Javascript
[01:22:28]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第一场 1月18日
2021/03/11 DOTA
python创建临时文件夹的方法
2015/07/06 Python
[原创]使用豆瓣提供的国内pypi源
2017/07/02 Python
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
TensorFlow实现创建分类器
2018/02/06 Python
浅谈Html5多线程开发之WebWorkers
2018/05/02 HTML / CSS
FirstCry阿联酋儿童和婴儿产品网上购物:FirstCry.ae
2021/02/22 全球购物
有限公司股东合作协议书
2014/10/29 职场文书
学校端午节活动总结
2015/02/11 职场文书
单位领导婚礼致辞
2015/07/28 职场文书
关于教师节的广播稿
2015/08/19 职场文书
远程教育培训心得体会
2016/01/09 职场文书
2016银行求职自荐信
2016/01/28 职场文书
Python编程super应用场景及示例解析
2021/10/05 Python
Python列表的索引与切片
2022/04/07 Python