什么是文件处理?

文件处理包括读取,关闭,重写等。掌握文件的处理需要读者理清思路,掌握好文件处理的关键步骤和常用函数,那么就可以运用自如了!感兴趣的请移步php文件处理专题。

比如,访问一个文件需要 3 步:打开文件,读写文件以及关闭文件。其他对文件的操作要么是包含在读写文件中(如显示内容,写入内容等),要么与文件自身的属性有关系(如文件遍历,文件改名等)。那么从这篇文章开始将对常用的文件处理技术进行详细介绍。

今天这篇文章我们先来介绍一下打开/关闭文件,打开文件和关闭文件使用 fopen()函数和 fclose()函数。打开文件应该格外小心,因为一不小心就会有把文件内容全部删除的可能。

一:打开文件

对文件进行操作的时候,我们首先要做的就是打开文件,这是进行数据存取的第一步。在PHP中使用 fopen()函数打开文件,fopen()函数的语法如下:

1
resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context]] )

参数 filename 是要打开包含路径的文件名,可以使相对路径,也可以是绝对路径。如果没有任何前缀侧表示打开的事本地文件,参数 mode 是打开文件的方式,可以去的值如下:

mode 模式名称 说明
r 只读 读模式—进行读取,文件指针位于文件的开头
r+ 读写 读写模式—进行读写,文件指针位于文件的开头。在现有文件的内容的末尾之前进行写入就会覆盖原有的
W 只写 写模式—进行写入文件,文件指针指向头文件。如果文件存在,则所有文件内容被删除,否则函数将创建这个文件
w+ 读写 读写模式—进行读写,文件指针指向头文件。如果文件存在,则所有文件内容被删除,否则函数将创建这个文件
x 谨慎写 写模式打开文件,从文件头开始写。如果文件已经存在,则该文件将不会被打开,函数返回false,PHP将产生一个警告
x+ 谨慎写 读/写模式打开文件,从文件头开始写。如果文件已经存在,则该文件将不会被打开,函数返回false,PHP将产生一个警告
a 追加 追加模式打开文件,文件指针指向尾文件,如果该文件已有内容,则将从文件末尾开始追加,如果该文件不存在,则函数将创建这个文件
a+ 追加 追加模式打开文件,文件指针指向头文件,如果该文件已有内容,则将从文件末尾开始追加或者读取,如果该文件不存在,则函数将创建这个文件
b 二进制 二进制模式—用于与其他模式进行连接。如果文件系统能够区分二进制文件和文本文件,可能会使用它。Windows可以区分;UNIX则不区分,推荐使用这个选项,便于获得最大程度的可移植性。它是默认模式
t 文本 用于与其他模式的结合。这个模式只是 Windows下的一个选项

第三个参数 use_include_path 是可选的,该参数在配置文件 php.ini 中指定一个路径,如F:\AppServ\www\mess.php,如果希望服务器在这个路径下打开所指定的文件,可以将其值上设置为 1 或者 true。

二:关闭文件

对文件的操作结束后应该关闭这个文件,否则可能会引起错误。在 PHP 中使用 fclose()函数关闭文件,该函数的语法格式如下;

1
bool fclose ( resource $handle )

该函数将参数 handle 指向的文件关闭,如果成功,那么返回true,否则返回false。其中的文件指针必须是有效的,并且是通过 fopen()函数成功打开的文件。

具体我们看下下面的示例代码:

1
2
3
4
5
6
<?php
header("Content-Type:text/html; charset=utf-8");
$f_open = fopen("../file.txt","rb"); // 打开文件
.................                      //这里是对文件进行操作
fclose($f_open)                       //操作完成后关闭文件
?>

PHP怎么打开或者关闭文件?的更多相关文章

  1. Python打开和关闭文件

    Python打开和关闭文件: open(文件名,打开文件的模式[,寄存区的缓冲]): 文件名:字符串值 注:文件名带有后缀名 # 打开创建好的 test.txt 文件 f = open("t ...

  2. linux文件操作篇 (二) 打开和关闭文件

    2.1 打开文件和关闭文件 #include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>  头文件 i ...

  3. perl 打开和关闭文件

    #!/usr/bin/perl -w use strict; #print "please input a string\n"; #my $line = <STDIN> ...

  4. [Python] python3 文件操作:从键盘输入、打开关闭文件、读取写入文件、重命名与删除文件等

    1.从键盘输入 Python 2有两个内置的函数用于从标准输入读取数据,默认情况下来自键盘.这两个函数分别是:input()和raw_input(). Python 3中,不建议使用raw_input ...

  5. 深入理解计算机操作系统——第10章:UNIX IO,打开,关闭,读写文件

    系统级IO:输入输出是主存与外部设备(磁盘,终端,网络)之间拷贝数据的过程 输入:从IO设备拷贝数据到主存中 输出:从主存中拷贝数据到IO设备中 10.1 unix IO 所有的IO设备都被模型化为文 ...

  6. VB Open 函数详解 打开、关闭、读、写文件

    (一)打开和关闭文件      1.顺序文件     打开顺序文件,我们可以使用Open语句.它的格式如下:Open pathname For [Input |Output |Append] As [ ...

  7. java io流(字符流) 文件打开、读取文件、关闭文件

    java io流(字符流) 文件打开 读取文件 关闭文件 //打开文件 //读取文件内容 //关闭文件 import java.io.*; public class Index{ public sta ...

  8. C++学习47 文件的概念 文件流类与文件流对象 文件的打开与关闭

    迄今为止,我们讨论的输入输出是以系统指定的标准设备(输入设备为键盘,输出设备为显示器)为对象的.在实际应用中,常以磁盘文件作为对象.即从磁盘文件读取数据,将数据输出到磁盘文件.磁盘是计算机的外部存储器 ...

  9. Linux C 文件与目录2 文件的打开与关闭

    文件的打开与关闭 open和close 文件的打开指的是从磁盘中找到一个文件,返回一个整形的打开文件顺序的编号.打开的文件处于可读.可写状态.文件的关闭指的是释放打开的文件,是文件处于不可读写的状态. ...

随机推荐

  1. ps-抠图

    1-    图层区—复制背景图层            防止原图修改失败后无法还原 2-    工具栏——磁性套索工具                    可以有效的对色彩边线较为明显的图片进行抠图 ...

  2. 腾讯.NET面试题

    在整个面试过程中,作为面试者的你,角色就是小怪兽,面试官的角色则是奥特曼,更不幸的是,作为小怪兽的你是孤身一人,而奥特曼却往往有好几个~ 以下是网友发的关于腾讯的.NET面试题,不得不说还是有一定的难 ...

  3. (28)网络编程之UDP

    介绍UDP通信协议的编程之前,先介绍一下网络编程,socket相关的概念: 网络编程:网络编程主要用于解决计算机与计算机(手机平板等)之间的数据传输问题. 网络编程:不需要基于html网页就可以达到数 ...

  4. C# const和readonly修饰符的区别

    const 的概念就是一个包含不能修改的值的变量.常数表达式是在编译时可被完全计算的表达式.因此不能从一个变量中提取的值来初始化常量.如果 const int a = b+1;b是一个变量,显然不能再 ...

  5. 在React中使用CSS Modules设置样式

    最近,一直在看React...那真的是一个一直在学的过程啊,从配置环境webpack,到基础知识jsx,babel,es6,没有一个不是之前没有接触的.其实,我内心是兴奋的啊,毕竟,活着就是要接触一些 ...

  6. RabbitMQ入门教程

    1.下载安装RabbitMQ windows下 先 下载Erlang 64位 其它去这里下载 http://www.erlang.org/downloads 然后 下载RabbitMQ  官网 htt ...

  7. 【Spring】详解Spring中Bean的加载

    之前写过bean的解析,这篇来讲讲bean的加载,加载要比bean的解析复杂些,该文之前在小编原文中有发表过,要看原文的可以直接点击原文查看,从之前的例子开始,Spring中加载一个bean的方式: ...

  8. Invalid command 'RailsBaseURI'

    官方指导 http://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_on_Ubuntu_step_by_step   解决使 ...

  9. JavaScript基础学习(四)—Object

    一.Object的基本操作 1.对象的创建      在JavaScript中,创建对象的方式有两种:构造函数和对象字面量.      (1)构造函数 var person = new Object( ...

  10. 1129: 零起点学算法36——3n+1问题

    1129: 零起点学算法36--3n+1问题 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 4541 ...