1.文件的代开与关闭

  1.1 fopen()

    作用:该函数用于打开一个文件

    具体使用访问:http://www.w3school.com.cn/php/func_filesystem_fopen.asp

  1.2 fclose()

    该函数会撤销fopen()打开的资源类型,成功时返回TRUE,否则返回FALSE。参数必须使用fopen()或fsockopen()函数打开的已存的文件指针。在目录操作中opendir()函数也是开启一个资源,使用closedir()将其关闭。

    具体使用访问:http://www.w3school.com.cn/php/func_filesystem_fclose.asp

2.写入文件

  2.1 fwrite()

    具体访问:http://www.w3school.com.cn/php/func_filesystem_fwrite.asp

3.读取文件内容

  2.1 fread()

    作用:该函数用来在打开的文件中读取指定长度的字符串。也可以安全用于二进制文件,在区分二进制文件和文本文件的系统上(如Windows)打开文件时,fopen()函数的mode参数要加上'b'.

    语法:string fread(int handle,int length)

    参数:该函数从文件指针资源handle中读取最多length个字节。在读取完length个字节数,或到达EOF时,或(对于网络流)当一个包可用时都会停止读取文件,就看先碰到哪种情况了。该函数返回读取的内容字符串,如果失败则返回FALSE。

    代码示例:

      $filename = "C:\Users\lenovo\Desktop/test.txt";
      $handle = fopen($filename,"r") or die("文件打开失败");
      $contents = fread($handle,4);
      fclose($handle);
      echo $contents;

  2.2 file_get_contents()

    作用:用来将文件的内容读入到一个字符串中的首选方法,如果只想将一个文件的内容读入到一个字符串中,可以用该函数,它的性能比2.1例子中的代码好得多。如果操作系统支持,还会使用内存映射技术来增强性能。示例代码如下:

      echo file_get_contents("C:\Users\lenovo\Desktop/test.txt");  //读取文本文件中的内容并输出

      echo file_get_contents("C:\\files\\somepic.gif");        //读取二进制文件中的内容并输出

  2.3 fgets()

    作用:该函数一次至多从打开的文件资源中读取一行内容。

    语法:string fgets(ing handle[,int length])

    参数:第一个参数提供使用fopen()函数打开的资源。如果提供了第二个可选参数length,该函数返回length-1个字节。或者返回遇到换行或EOF之前读取的所有内容。如果忽略可选的length参数,默认为1024个字符。在大多数情况下,这意味着fgets()函数将读取到1024个字符前遇到换行符,因此每次成功调用都会返回下一行。如果读取失败则返回FALSE。

    代码示例:

    $handle = fopen("data.txt","r") or die("文件打开失败");    //以只读模式打开文件

    while(!feof($handle))                    //循环读取第一行

    {    

      $buffer = fgets($handle,4096);            //一次读取一行内容

      echo $buffer."<br>";                 //输出每一行

    }

  2.4 fgetc()

    作用:在打开的文件资源中读取当前指针位置处的一个字符。如果遇到文件结束表示EOF,将返回FALSE值。示例代码如下:

      $fp = fopen("data.txt","r") or die("文件打开失败");    //以只读模式打开文件

      while(false !== ($char = fgetc($fp)))         //在文件中每次循环读取一个字符

      {

        echo $char."<br>";              //输出单个字符

      }

  2.5 file()

    该函数非常有用,与file_get_contents()类似,不需要使用fopen()函数打开文件,不同的是file()函数可以把整个文件读入到一个数组中。数组中的每个元素对应文件中相应的行,各元素由换行符分隔,同时换行符仍附加在每个元素的末尾。这样,就可以使用数组的相关函数对文件内容进行处理。代码示例如下:

    print_r(file("test.txt"));    //将文件test.txt中的内容读入到一个数组中,并输出

  2.6 readfile()

    该函数可以读取指定的整个文件,立即输出到输出缓冲区,并返回读取的字节数。该函数也不需要使用fopen()函数打开文件。在下面的示例中,轻松地将文件内容输出到浏览器。

    readfile("data.txt");    //直接将文件data.txt中的数据读出并输出到浏览器

3 访问远程文件

  使用PHP不仅可以让用户通过浏览器访问服务器端的文件,还可以通过HTTP或FTP等协议访问其他服务器中的文件,可以在大多数需要用文件名作为参数的函数中使用HTTP和FTP URL来代替文件名。使用fopen()函数将制定的文件名与资源绑定到一个流上,如果文件名是"scheme://..."的格式,则被当成一个URL,PHP将搜索协议器(也被称为封装协议)来处理此模式。

  如果需要访问远程文件,必须在PHP的配置文件中激活“allow_url_fopen”选项,才能使用fopen()函数打开远程文件。而且还要确定其他服务器中的文件是否有访问权限,如果使用HTTP协议对远程文件进行连接,只能以“只读”模式打开。如果需要访问的远程FTP服务器中,对所提供的用户开启了“可写”权限,则使用FTP协议连接远程的文件时,就可以使用“只写”或“只读”模式打开文件。但不可以使用“可读可写”的模式。

  使用PHP访问远程文件就像访问本地文件一样,都是使用相同的读写函数处理。代码示例如下:

  $file = fopen("http://www.lampbrother.com/","r") or die("打开远程文件失败!");

  while(!feof($file))

  {

    $line = fgets($file,1024);      //每读取一行

    if(preg_match("/<title>(.*)</title>/",$line,$out))       //如果找到远程文件中的标题标记则取出标题,并退出循环,不在读取文件

    {

      $title = $out[1];

      break;

    }

  }

  fclose($file);      //关闭文件资源

  echo $title;      //输出获取到的远程网页的标题

PHP文件相关的操作函数——文件操作的更多相关文章

  1. PHP文件相关的操作函数——目录操作

    1.有关文件类型的函数 PHP是以UNIX的文件系统为模型的,因此在Windows系统中我们只能获得“file”.“dir”或者“unknown”三种文件类型.而在UNIX系统中,我们可以获得“blo ...

  2. 总结文件操作函数-文件夹(三)-C语言

    获取.改变当前文件夹: 原型为: #include <unistd.h>   //头文件 char *getcwd(char *buf, size_t size); //获取当前文件夹.相 ...

  3. UNIX高级环境编程(5)Files And Directories - 文件相关时间,目录文件相关操作

     1 File Times 每个文件会维护三个时间字段,每个字段代表的时间都不同.如下表所示: 字段说明: st_mtim(the modification time)记录了文件内容最后一次被修改的时 ...

  4. PHP目录操作(附封装好的目录操作函数文件)

    目录函数库常用API $path='test'; var_dump(is_dir($path));//检测是否为目录 echo '<hr/>'; echo getcwd();//得到当前的 ...

  5. 第3章 Python基础-文件操作&函数 文件操作 练习题

    一.利用b模式,编写一个cp工具,要求如下: 1. 既可以拷贝文本又可以拷贝视频,图片等文件 2. 用户一旦参数错误,打印命令的正确使用方法,如usage: cp source_file target ...

  6. Excel文件相关:XLS格式文件基本操作

    序 1.添加引用 添加引用->Com->Microsoft Excel 9.0 Object Library(对应Excel2000) *Microsoft Excel 11.0 Obje ...

  7. Android根据文件路径使用File类获取文件相关信息

    Android通过文件路径如何得到文件相关信息,如 文件名称,文件大小,创建时间,文件的相对路径,文件的绝对路径等: 如图: 代码: public class MainActivity extends ...

  8. ThinkPHP3自动加载公共函数文件

    7d 根目录 ├─Application 应用目录 │ ├─Common 公共模块 │ │ ├─Common 公共函数文件目录 │ │ │ ├─index.html │ │ ├─Config 配置文件 ...

  9. android--------根据文件路径使用File类获取文件相关信息

    Android通过文件路径如何得到文件相关信息,如 文件名称,文件大小,创建时间,文件的相对路径,文件的绝对路径等. 如图: public class MainActivity extends Act ...

随机推荐

  1. mysql事务

    1. 事务并不专属于mysql 2. 事务的ACID特性 1)原子性(atomicity) 一个事务必须被视为一个不可分割的最小工作单元,整个事务中得所有操作要么全部提交成功,要么全部失败回滚,对于一 ...

  2. linux 查看目录所在的分区

    df -h /data2 Filesystem Size Used Avail Use% Mounted on /dev/xvda1 20G .5G 12G % /

  3. XMLFeedSpider例子

    from scrapy import log from scrapy.contrib.spiders import XMLFeedSpider from myproject.items import ...

  4. Android功能点

    1.获取屏幕尺寸.密度等信息. 1)最常用的方法: WindowManager windowManager = getWindowManager(); Display display = window ...

  5. android开发:深入理解View(一):从setContentView谈起

    我们都知道 MVC,在Android中,这个 V 即指View,那我们今天就来探探View的究竟. 在onCreate方法中,可以调用this.setContentView(layout_id),来设 ...

  6. PHP isset() empty() isnull() 的区别

    <? isset - 检测变量是否设置 注意: isset 检测变量是否设置,并且不是 NULL. 若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE: empty ...

  7. 如何用hypermesh生成包含interface的流体网格

    在计算气动声学的时候,有些情况是需要我们提取流体计算的结果作为声学分析的边界条件,但是,有些流体网格因为物理模型的问题需要我们设定interface,恰恰你是机械,对流体了解一点,又不想花费太多时间来 ...

  8. java运行时内存模式学习

    学习java运行时内存模式: 各区介绍: 方法区(线程共享):用于存放被虚拟机加载的类的元数据:静态变量,常量,以及编译和的代码(字节码),也称为永久代(所有该类的实例被回收,或者此类classLoa ...

  9. 【原】iOS学习之应用之间的操作

    关于应用之间的相互操作,小编一直觉得非常高大上,在一次面试中被面试官一顿暴虐,今天小编就决定学习一下!经过一顿度娘,找到一些博客,不过都比较凌乱,我就打算自己整理一下! 首先要说的是每一个APP都可以 ...

  10. 关于这个博客以及C++入门该懂的一些东西

    给三牧中学c++入门的同学们看的博客. 大概是入门一类的?说不定会写点自己的结题报告. 写的不好/写错了别怪我,蒟蒻瑟瑟发抖. 天哪要开始写入门了我好慌那么接下来是编译器连接. (本蒟蒻喜欢用DEV ...