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+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
Mar 07 PHP
PHP注释实例技巧
Oct 03 PHP
PHP源代码数组统计count分析
Aug 02 PHP
使用array mutisort 实现按某字段对数据排序
Jun 18 PHP
php curl模拟post提交数据示例
Dec 31 PHP
smarty表格换行实例
Dec 15 PHP
写一段简单的PHP建立文件夹代码
Jan 06 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
thinkPHP5框架分页样式类完整示例
Sep 01 PHP
统计PHP目录中的文件数方法
Mar 05 PHP
PHP进阶学习之类的自动加载机制原理分析
Jun 18 PHP
php实现断点续传大文件示例代码
Jun 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
写一个用户在线显示的程序
2006/10/09 PHP
smarty+adodb+部分自定义类的php开发模式
2006/12/31 PHP
PHP中数组的分组排序实例
2014/06/01 PHP
php实现将任意进制数转换成10进制的方法
2015/04/17 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
prototype 中文参数乱码解决方案
2009/11/09 Javascript
javascript向后台传送相同属性的参数即数组参数
2014/02/17 Javascript
js 判断浏览器使用的语言示例代码
2014/03/22 Javascript
js实现异步循环实现代码
2016/02/16 Javascript
JS实现保留n位小数的四舍五入问题示例
2016/08/03 Javascript
微信小程序  checkbox组件详解及简单实例
2017/01/10 Javascript
Bootstrap 手风琴菜单的实现代码
2017/01/20 Javascript
JavaScript字符串检索字符的方法
2017/06/23 Javascript
JS控制鼠标拒绝点击某一按钮的实例
2017/12/29 Javascript
vue组件通信传值操作示例
2019/01/08 Javascript
实例详解带参数的 npm script
2019/05/28 Javascript
ES6 新增的创建数组的方法(小结)
2019/08/01 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
2020/08/22 Javascript
微信小程序实现底部弹出模态框
2020/11/18 Javascript
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python标准库与第三方库详解
2014/07/22 Python
python在不同层级目录import模块的方法
2016/01/31 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
Python面向对象程序设计之类的定义与继承简单示例
2019/03/18 Python
[机器视觉]使用python自动识别验证码详解
2019/05/16 Python
python中线程和进程有何区别
2020/06/17 Python
大数据分析用java还是Python
2020/07/06 Python
Python selenium键盘鼠标事件实现过程详解
2020/07/28 Python
Python如何测试stdout输出
2020/08/10 Python
python如何获得list或numpy数组中最大元素对应的索引
2020/11/16 Python
在线服装零售商:SheIn
2016/07/22 全球购物
国际经济贸易专业推荐信
2013/11/06 职场文书
采购部主管岗位职责
2014/01/01 职场文书
房地产销售经理岗位职责
2014/01/01 职场文书
2015高考寄语集锦
2015/02/27 职场文书
工作一年自我鉴定
2019/06/20 职场文书