PHP文件相关的操作函数——文件操作

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;      //输出获取到的远程网页的标题

时间: 2024-10-05 08:14:47

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

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

1.有关文件类型的函数 PHP是以UNIX的文件系统为模型的,因此在Windows系统中我们只能获得“file”.“dir”或者“unknown”三种文件类型.而在UNIX系统中,我们可以获得“block”.“char”.“dir”.“fifo”.“file”.“link”和“unknown”7种类型. 1.1 filetype() 作用:获取文件的上传类型 语法:filetype(filename) 参数:该函数接受一个文件名作为参数,如果文件不存在将返回FALSE. 代码示例: echo f

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

?1 File Times 每个文件会维护三个时间字段,每个字段代表的时间都不同.如下表所示: 字段说明: st_mtim(the modification time)记录了文件内容最后一次被修改的时间. st_ctim(the changed-status time)记录了文件的i-node最后一次被修改的时间,如修改文件权限位,修改文件所有者ID,修改关联到该文件的link数目. i-node中的信息和文件的实际内容是分离的,所以当更新i-node时,需要更新的时st_ctim(the ch

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

1.添加引用 添加引用->Com->Microsoft Excel 9.0 Object Library(对应Excel2000) *Microsoft Excel 11.0 Object Library(对应Excel2003)  2.新建对象 实例化 Dim myExcel as New Excel.Application() 添加工作簿 myExcel.Workbooks.Add() 打开工作簿 myExcel.Workbooks.Open("FileName as Strin

【C语言】 字符串操作函数及内存拷贝函数归总

今天在这里把零散的一些常用的字符串操作函数和内存拷贝函数进行一下归总实现. 一 . 字符串操作函数 字符串操作函数有很多,这里我列举一些常用的函数,以及自实现的代码: 字符串拷贝函数: 函数原型: char* my_strcpy(char* dst,const char* src) strcpy(): char* my_strcpy(char* dst,const char* src) {     assert(dst);     assert(src);     char *ret = dst

内存操作函数memmove,memcpy,memset

通过字符串的学习,我们知道字符串操作函数的操作对象是字符串,并且它的结束标志是结束符\0,当然这个说的是不 受限制的字符串函数.然而当我们想要将一段内存的数据复制到另一块内存时,我们不能使用字符串操作函数,当然也 不能一个一个复制,所以就引入了内存操作函数. memcpy函数原型: void *memcpy(void *dst, const void *src, size_t size);将一块内存的数据复制到另一块内存.当两块内存重叠              的时候,memcpy就不能保证拷

PHP文件操作系统----主要的文件操作函数

一.文件操作系统概述 1.概述: php中的文件操作系统主要是对文件和目录的操作.文件在windows系统下分为3种不同:文件.目录.未知,在linux/unix系统下分为7种不同:block.char.dir.fifo.file.link和unknown七种类型.目录在windows系统:D:/a/b/c.php 或 D:\a\b\c.php,在linux/unix系统: /a/b/c.php,为统一建议使用"/"作为目录之间的分割符. 2.目录或文件属性获取函数 *(1)取得文件类

R语言文件相关的操作

1. 文件系统介绍 R语言对文件系统的操作,包括文件操作和目录操作,函数API都定义在base包中. 2. 目录操作 2.1 查看目录 查看当前目录下的子目录. # 启动R程序 ~ R # 当前的目录 > getwd() [1] "/home/conan/R/fs" # 查看当前目录的子目录 > list.dirs() [1] "." "./tmp" 查看当前目录的子目录和文件. > dir() [1] "readme

总结文件操作函数(二)-C语言

格式化读写: #include <stdio.h> int printf(const char *format, ...);                   //相当于fprintf(stdout,format,-); int scanf(const char *format, -); int fprintf(FILE *stream, const char *format, ...);      //中间的参数为写入文件的格式 int fscanf(FILE *stream, const

R8&mdash;批量生成文件夹,批量读取文件夹名称+R文件管理系统操作函数

一. 批量生成文件夹,批量读取文件夹名称 今日,工作中遇到这样一个问题:boss给我们提供了200多家公司的ID代码(如6007.7920等),需要根据这些ID号去搜索下载新闻,从而将下载到的新闻存到以公司ID生成的指定文件夹下!所以第一个问题就是200多个公司,不可能每一次下载,都要去点击:新建文件夹,然后对文件夹命名,too boring and monotonous.嘿嘿,幸好有R的陪伴! let's do it,来看看R如何完成这些工作! 主要用到两个函数 一. dir.create-生