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 连接mssql数据库 初学php笔记
Mar 01 PHP
PHP CURL模拟GET及POST函数代码
Apr 25 PHP
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
Apr 13 PHP
MyEclipse常用配置图文教程
Sep 11 PHP
深入了解PHP中的Array数组和foreach
Nov 06 PHP
php中时间函数date及常用的时间计算
May 12 PHP
Laravel框架分页实现方法分析
Jun 12 PHP
PHP实现的解汉诺塔问题算法示例
Aug 06 PHP
PHP PDOStatement::bindParam讲解
Jan 30 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
Oct 24 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
Feb 10 PHP
TP5框架实现一次选择多张图片并预览的方法示例
Apr 04 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中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
PHP记录搜索引擎蜘蛛访问网站足迹的方法
2015/04/15 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
2017/06/28 PHP
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
删除javascript中注释语句的正则表达式
2014/06/11 Javascript
JavaScript中常见的字符串操作函数及用法汇总
2015/05/04 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
详解angularJs中关于ng-class的三种使用方式说明
2017/06/02 Javascript
Javascript别踩白块儿(钢琴块儿)小游戏实现代码
2017/07/20 Javascript
angular2中使用第三方js库的实例
2018/02/26 Javascript
官方推荐react-navigation的具体使用详解
2018/05/08 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
2018/09/16 Javascript
详解小程序之简单登录注册表单验证
2019/05/13 Javascript
Vue-CLI与Vuex使用方法实例分析
2020/01/06 Javascript
vue3.0 项目搭建和使用流程
2021/03/04 Vue.js
Python获取远程文件大小的函数代码分享
2014/05/13 Python
Python程序设计入门(4)模块和包
2014/06/16 Python
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
2018/08/10 Python
pycharm下pyqt4安装及环境配置的教程
2020/04/24 Python
HTML5 canvas基本绘图之填充样式实现
2016/06/27 HTML / CSS
美国最受欢迎的度假租赁网站:VRBO
2016/08/02 全球购物
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
优秀应届生求职信
2014/06/16 职场文书
汉语专业毕业生自荐信
2014/07/06 职场文书
七一建党日演讲稿
2014/09/05 职场文书
2014年商场工作总结
2014/11/22 职场文书
初婚初育证明范本
2014/11/24 职场文书
工程款申请报告
2015/05/15 职场文书
2016年小学生寒假家长评语
2015/10/10 职场文书
web前端之css水平居中代码解析
2021/05/20 HTML / CSS
vue3中provide && inject的使用
2021/07/01 Vue.js
Mysql 如何合理地统计一个数据库里的所有表的数据量
2022/04/18 MySQL
Window server 2012 R2 AD域的组策略相关设置
2022/04/28 Servers