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. For Freedom —— 代理篇

    人生在世,总是受到各种约束.心脏跳动都感到困难呢!! 公司内网,安全区,fq等等等~~我们需要一个稳定易用高性能高弹性的代理工具!3Proxy,Here it is, CLICK ME!! 简单介绍下 ...

  2. oracle对/dev/shm的使用

    查看共享内存打开的文件数 [root@db2 ~]# lsof -n | grep /dev/shm | wc -l 34693 共享内存中总共文件数 [root@db2 ~]# ls -l /dev ...

  3. JAVA内部类有关

    最近在看单例模式的实现,看到有一种利用JAVA静态内部类的特性来实现,对于内部类我还真是不了解,遂了解了一下,代码贴上. /** * 内部类分为:成员内部类.局部内部类.匿名内部类和静态内部类. */ ...

  4. 分享一个分布式消息总线,基于.NET Socket Tcp的发布-订阅框架,附代码下载

    一.分布式消息总线 在很多MIS项目之中都有这样的需求,需要一个及时.高效的的通知机制,即比如当使用者A完成了任务X,就需要立即告知使用者B任务X已经完成,在通常的情况下,开发人中都是在使用者B所使用 ...

  5. 【Android】一道Android OpenGL笔试题

    一道Android OpenGL笔试题 SkySeraph May. 5th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点:www.sky ...

  6. Android 6.0 - 动态权限管理的解决方案

    Android 6.0版本(Api 23)推出了很多新的特性, 大幅提升了用户体验, 同时也为程序员带来新的负担. 动态权限管理就是这样, 一方面让用户更加容易的控制自己的隐私, 一方面需要重新适配应 ...

  7. Javascript 构造函数原型继承机制

    我们先聊聊Js的历史,1994年Netscape公司发布了Navigator浏览器0.9班.这是历史上第一个比较成熟的网络浏览器.轰动一时.但是,这个版本的浏览器只能用来浏览,不具备交互功能,最主要的 ...

  8. react native 多选按钮

    在做项目的时候有一个需求,是可以选择多个条件的,特地在Github上找了一些案例,发现没有什么合适的,于是自己根据这些案例,改装一下,封装了一个合适自己的.先看我封装的代码. import React ...

  9. ZoomEye 钟馗之眼 搜索工具 基于API

    #!/usr/bin/env python # -*- coding: utf-8 -*- # Author: f0rsaken import getopt import requests impor ...

  10. If & Else 语句

    If 语句 user= "吹Sir"passwd= "strong"username = input ("Username:")passwo ...