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. C++开始前篇,深入编译链接(补充1)

    针对这些问题,这次做一个补充: 一,可重定位文件的格式是什么,以main.o为例, 格式为ELF ,包括:{1,ELF Header 它描述了整个文件的文件属性,包括文件是否可以执行,是静态链接还是动 ...

  2. 什么是BOM头,BOM头有什么影响,怎么去掉BOM头

    什么是bom头? 在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,这也 ...

  3. Trick蠕虫病毒来袭!幕后主使竟是一名高中生“黑客”!

    黑客一直是美国电影中的重要元素,很多经典大片中都有黑客的身影,如战争游戏.黑客帝国等.电影中黑客总是神通广大.行侠仗义,<战争游戏>中的年轻黑客大卫•莱特曼利用黑客技术避免引爆核武器,&l ...

  4. 解决升级PHP7后 微信公众号收不到消息

    服务器配置Linux+Nginx+PHP5.5+mysql index方法配置微信的关注回复.菜单事件.多客服.自动回复等 public function actionIndex() { if (is ...

  5. 15.linux按键驱动程序(二)

    linux按键驱动程序 包含内容定时器延时去抖动,阻塞型设备驱动设计 一.定时器延时去抖 按键所用开关为机械弹性开关,当机械触点断开.闭合时,由于机械触点的弹性作用,开关不会马上稳定地接通或断开.因而 ...

  6. [Unity3D]自制UnityForAndroid二维码扫描插件

    一周左右终于将二维码生成和扫描功能给实现了,终于能舒缓一口气了,从一开始的疑惑为啥不同的扫码客户端为啥扫出来的效果不同?通用的扫描器扫出来就是一个下载APK,自制的扫描器扫出来是想要的有效信息,然后分 ...

  7. C++预定义宏

    C/C++宏体中出现的#,#@,##: - #的功能是将其后面的宏参数进行字符串化操作(stringfication),就是对它所引用的宏变量通过替换后在其左右各加上一个双引号 -##被称为连接符(c ...

  8. Http、Https请求工具类

    最近在做微信开发,使用http调用第三方服务API,有些是需要https协议,通过资料和自己编码,写了个支持http和https的工具类,经验证可用,现贴出来保留,也供需要的人使用(有不足的地方,也请 ...

  9. SQL Server 2012 数据库数据导出为脚本

    转自:http://blog.csdn.net/ituff/article/details/8265822 将高版本的的SQL Server数据库移到低版本的SQL Server是一件十分蛋疼的事,最 ...

  10. mysql 数据库可以非本地访问

      GRANT ALL PRIVILEGES ON 数据库名.* TO root@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;