php读取本地文件常用函数(fopen与file_get_contents)

下面我们以.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 ‘文件不存在';}

这样可能更合理更实用哦。

(0)

相关推荐

  • 用PHP读取超大文件的实例代码

    去年年底的各种网站帐号信息的数据库泄漏,很是给力啊,趁机也下载了几个数据库,准备学学数据分析家来分析一下这些帐号信息.虽然这些数据信息都已经被"整理"过的,不过自己拿来学习也挺有用的,毕竟有这么大的数据量. 数据量大带来的问题就是单个文件很大,能够打开这个文件相当不容易,记事本就不要指望了,果断死机.用MSSQL的客户端也打不开这么大的SQL文件,直接报内存不足,原因据说是MSSQL在读取数据的时候,是一次性地将读取到的数据放在内存中,如果数据量过大,而内存不足,则会直接导致系统瘫掉.

  • php逐行读取txt文件写入数组的方法 原创

    本文实例讲述了php逐行读取txt文件写入数组的方法.分享给大家供大家参考.具体如下: 假设有user.txt文件如下: user01 user02 user03 user04 user05 user06 user07 user08 user09 user10 user11 user12 逐行读取user.txt并写入数组的方法如下: $file = fopen("username.txt", "r"); $user=array(); $i=0; //输出文本中所有

  • PHP实现类似于C语言的文件读取及解析功能

    本文实例讲述了PHP实现类似于C语言的文件读取及解析功能.分享给大家供大家参考,具体如下: $log_file_name = 'D:/static/develop/kuai_zhi/acagrid.com/public/Logs/'.date('Ym').'/'.date('d').'_error.log'; //$log_file_name = 'D:/static/develop/kuai_zhi/acagrid.com/public/Logs/201701/19_error.log'; i

  • PHP读取文件内容的五种方式

    php读取文件内容的五种方式 分享下php读取文件内容的五种方法:好吧,写完后发现文件全部没有关闭.实际应用当中,请注意关闭 fclose($fp); -- php读取文件内容: -----第一种方法-----fread()-------- <?php $file_path = "test.txt"; if(file_exists($file_path)){ $fp = fopen($file_path,"r"); $str = fread($fp,files

  • php读取二进制流(C语言结构体struct数据文件)的深入解析

    尽管php是用C语言开发的,不过令我不解的是php没有提供对结构体struct的直接支持.不过php提供了pack和unpack函数,用来进行二进制数据(binary data)和php内部数据的互转: 复制代码 代码如下: string pack ( string $format [, mixed $args [, mixed $...]] )   //Pack given arguments into binary string according to format.  array unp

  • PHP读取txt文件的内容并赋值给数组的代码

    2010-12-15.txt的文件内容如下: 复制代码 代码如下: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 T01 T02 T03 T04 T05 T06 T07 T08 T09 T10 T11 T12 T13 T14 T15 T16 思路如下:使用file_get_contents()获取txt文件的内容,然后通过explode()把获得的字符串转化为数组.获得数组长度可以使用count()

  • PHP读取网页文件内容的实现代码(fopen,curl等)

    1.fopen实现代码: 复制代码 代码如下: <?php $handle = fopen ("http://www.example.com/", "rb"); $contents = ""; while (!feof($handle)) { $contents .= fread($handle, 8192); } fclose($handle); ?> 复制代码 代码如下: <?php // 对 PHP 5 及更高版本 $ha

  • php 读取文件乱码问题

    网上的解决办法说抓取后用iconv()转码.看后我就觉 得不对劲:一个是不一定编译了iconv库,更大的问题是编码都跟流转换的时候有关(如果用了iconv实际上php转了两次码:流 -> UTF-8 -> GB2312):这不是白忙乎了吗? 仔细看了下php的文档(不知道大家都是怎么写代码的,其实文档上很清楚啊),上面关于fopen()及file_get_contents()都 提到了"默认是UTF-8,但是用户可以用stream_default_encoding()或者用户自定义上

  • php读取文件内容到数组的方法

    本文实例讲述了php读取文件内容到数组的方法.分享给大家供大家参考.具体分析如下: php中可以通过file()函数将文件读取到数组中,数组中的元素即为文件的每行,file()函数通过"\n"按行分割文件保存到数组,所以数组每个元素都是以"\n"结尾,我们可以通过 rtrim()函数将其去除 <?php $lines = file("/tmp/file.txt"); foreach ($lines as $line) { $line = r

  • php读取本地文件常用函数(fopen与file_get_contents)

    下面我们以.txt文件为实例来介绍php读取本地文件的函数,读取文件我们可以利用fopen或file_get_contents来读取,file_get_contents更简单而fopen需要fread配合才可以显示读出的内容. 1.首先来介绍一下fopen()函数 下面我们给出了一个直接打开本地文件的代码demo,必要的地方我们都已经加上了注释: 复制代码 代码如下: //直接打开一个本地文件的实例代码       <?php       //假若我们本地的文件是一个名为xmlas.txt的文本

  • Python打开文件、文件读写操作、with方式、文件常用函数实例分析

    本文实例讲述了Python打开文件.文件读写操作.with方式.文件常用函数.分享给大家供大家参考,具体如下: 打开文件: 在python3中,打开文件的函数是: open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True) 参数说明: file--文件名 mode-打开模式,默认只读模式 buffering--如果buffering的值被设为0,就不会有寄存.如果buff

  • ThinkPHP中Common/common.php文件常用函数功能分析

    本文实例分析了ThinkPHP/Common/common.php文件常用函数功能.分享给大家供大家参考,具体如下: /** * 获取和设置配置参数 支持批量定义 * @param string|array $name 配置变量 * @param mixed $value 配置值 * @return mixed */ function C($name=null, $value=null) { static $_config = array(); // 无参数时获取所有 if (empty($na

  • 详解Java读取本地文件并显示在JSP文件中

    详解Java读取本地文件并显示在JSP文件中 当我们初学IMG标签时,我们知道通过设置img标签的src属性,能够在页面中显示想要展示的图片.其中src的值,可以是磁盘目录上的绝对,也可以是项目下的相对路径,还可以是网络上的图片路径.在存取少量图片的情况下,采用相对路径存储图片的情况下最方便,也最实用.但是当图片数量过多时,这种方式就显的有些掣肘了. 当系统的图片数量过多时,如果仍把这些图片当做项目的一部分去发布,势必会大大延长项目的发布时间及更新时间.对于某些对于时限性要求特别高的系统来说,采

  • java 读取本地文件实例详解

    java 读取本地文件实例详解 用javax.xml.w3c解析 实例代码: package cn.com.xinli.monitor.utils; import org.w3c.dom.Document; import org.w3c.dom.Element; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import java.io.File; /** *

  • Python读取本地文件并解析网页元素的方法

    如下所示: from bs4 import BeautifulSoup path = './web/new_index.html' with open(path, 'r') as f: Soup = BeautifulSoup(f.read(), 'lxml') titles = Soup.select('ul > li > div.article-info > h3 > a') for title in titles: print(title.text) 输出: Sardinia

  • 使用BufferedReader读取本地文件的操作

    BufferedReader读取本地文件 在使用BufferedWriter写入文件时,如果忘记关闭文件(close)同时也没有调用flush(),则被写入的文件中是没有内容的. 在关闭文件的同时系统会自动调用flush() try { File file=new File("c://aa.txt"); FileInputStream is=new FileInputStream(file); InputStreamReader reader=new InputStreamReader

  • javascript读取本地文件和目录方法详解

    JavaScript是网页制作中离不开的脚本语言,依靠它,一个网页的内容才生动活泼.富有朝气.但也许你还没有发现并应用它的一些更高级的功能吧?比如,对文件和文件夹进行读.写和删除,就象在VB.VC等高级语言中经常做的工作一样.怎么样,你是否需要了解这方面的知识?那就请跟我来,本文将详细描述如何使用Javascript语言进行文件操作. 一.功能实现核心:FileSystemObject 对象 其实,要在Javascript中实现文件操作功能,主要就是依靠FileSystemobject对象.在详

  • js利用FileReader读取本地文件或者blob方式

    目录 FileReader读取本地文件或blob 一.FileReader的使用 二.FileReader的方法 三.FileReader的属性 四.FileReader的事件 使用FileReader读取本地磁盘文件问题 FileReader读取本地文件或blob FileReader对象提供了异步读取存储在用户计算机上的文件的内容,使用 File或 Blob 对象指定要读取的文件或数据,FileReader接口提供了读取文件的方法和包含读取结果的事件模型. 一.FileReader的使用 注

  • js读取本地文件的实例

    如何用在浏览器端预览本地文件? 今天的主题是使用浏览器预览本地文件. 由于浏览器安全策略的限制,javascript程序不能自由地访问本地资源,这是对用户信息安全来说,是一项不得不遵守的准则.假如网络上的javascript程序可以自如地访问用户主机的本地资源,那么浏览器用户将毫无安全可言.尽管有这个安全限制,但是在得到用户允许的情况下,浏览器还是可以访问本地资源的. 获得用户允许的方法就是通过标签来让用户手动选择文件,这一过程就是用户授予访问权限的过程.然后 使用获得File 对象通过URL.

随机推荐