php文件的处理和操作
好长时间没有看php手册了,有些关于文件操作方面的知识点发现从没有学过,现补习一下,顺便整理一下:
1.文件的打开:fopen() 此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件
| r | 打开文件为只读。文件指针在文件的开头开始。 |
| w | 打开文件为只写。删除文件的内容或创建一个新的文件,如果它不存在。文件指针在文件的开头开始。 |
| a | 打开文件为只写。文件中的现有数据会被保留。文件指针在文件结尾开始。创建新的文件,如果文件不存在。 |
| x | 创建新文件为只写。返回 FALSE 和错误,如果文件已存在。 |
| r+ | 打开文件为读/写、文件指针在文件开头开始。 |
| w+ | 打开文件为读/写。删除文件内容或创建新文件,如果它不存在。文件指针在文件开头开始。 |
| a+ | 打开文件为读/写。文件中已有的数据会被保留。文件指针在文件结尾开始。创建新文件,如果它不存在。 |
| x+ | 创建新文件为读/写。返回 FALSE 和错误,如果文件已存在。 |
文本文件 "webdictionary.txt":
AJAX = Asynchronous JavaScript and XML
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Structured Query Language
SVG = Scalable Vector Graphics
XML = EXtensible Markup Language
php 实例:
<!DOCTYPE html>
<html>
<body> <?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?> </body>
</html>
运行结果:
AJAX = Asynchronous JavaScript and XML CSS = Cascading Style Sheets HTML = Hyper Text Markup Language PHP = PHP Hypertext Preprocessor SQL = Structured Query Language SVG = Scalable Vector Graphics XML = EXtensible Markup Language
2.文件的关闭:fclose() 需要待关闭文件的名称(或者存有文件名的变量) 注释:用完文件后把它们全部关闭是一个良好的编程习惯。
例子:
<?php
$myfile = fopen("webdictionary.txt", "r");
// some code to be executed....
fclose($myfile);
?>
3.文件的创建:fopen() 当打开的文件不存在,并且被打开为写入(w)或增加(a)时创建文件。
$myfile = fopen("testfile.txt", "w")
4.文件的读取:readfile() 和 fread() 区别: readfile() 函数读取文件,并把它写入输出缓冲,不需要代码来操作打开的过程;fread() 函数读取已打开的文件,第一个参数包含待读取文件的文件名,第二个参数规定待读取的最大字节数
例子:
<?php
echo readfile("webdictionary.txt");
?>
fread($myfile,filesize("webdictionary.txt"));
读取单行文件:fgets() 用于从文件读取单行
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fgets($myfile);
fclose($myfile);
?>
读取单字符:fgetc() 用于从文件中读取单个字符
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// 输出单字符直到 end-of-file
while(!feof($myfile)) {
echo fgetc($myfile);
}
fclose($myfile);
?>
5.检查是否已到达文件底部:feof()
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// 输出单行直到 end-of-file
while(!feof($myfile)) {
echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>
6.文件的写入:fwrite() 第一个参数包含要写入的文件的文件名,第二个参数是被写的字符串。
下面的例子把姓名写入名为 "newfile.txt" 的新文件中:
<?php
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "Bill Gates\n";
fwrite($myfile, $txt);
$txt = "Steve Jobs\n";
fwrite($myfile, $txt);
fclose($myfile);
?>
如果我们打开 "newfile.txt" 文件,它应该是这样的:
Bill Gates
Steve Jobs
如果文件里已有内容,那么就需要“a+”,
<?php
$myfile = fopen("newfile.txt", "a+") or die("Unable to open file!");
$txt = "Mickey Mouse\n";
fwrite($myfile, $txt);
$txt = "Minnie Mouse\n";
fwrite($myfile, $txt);
fclose($myfile);
?>
如果我们打开 "newfile.txt" 文件,它应该是这样的:
Bill Gates
Steve Jobs
Mickey Mouse
Minnie Mouse
7.文件的覆盖:fwrite() 写入已有文件时发生的的事情。所有已存在的数据会被擦除并以一个新文件开始。
<?php
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "Mickey Mouse\n";
fwrite($myfile, $txt);
$txt = "Minnie Mouse\n";
fwrite($myfile, $txt);
fclose($myfile);
?>
如果现在我们打开这个 "newfile.txt" 文件,Bill 和 Steve 都已消失,只剩下我们刚写入的数据:
Mickey Mouse
Minnie Mouse
8.文件的删除:unlike()
$filename = "testfile.txt";
unlink($filename); //删除文件
php文件的处理和操作的更多相关文章
- C语言中file文件指针概念及其操作 (转载)
文件 文件的基本概念 所谓"文件"是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名.实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件. ...
- Perl文件、目录常用操作
注意,这些操作的对象是文件名(相对路径/绝对路径),而非文件/目录句柄,句柄只是perl和文件系统中文件的关联通道,而非实体对象. 创建文件 在unix类操作系统中有一个touch命令可以非常方便的创 ...
- java对excel文件内容读写修改操作
Read.java package domain; import java.io.FileInputStream; import java.io.InputStream; import jxl.Cel ...
- sqlserver附加数据库时,无法打开物理文件 "xx.mdf"。操作系统错误 5:"5
sqlserver在附加数据库时,提示无法打开物理文件 "xx.mdf".操作系统错误 5:"5 此时可能你是用window验证方式登陆数据库的? 如果是这样,断开连接, ...
- 无法打开物理文件 XXX.mdf"。操作系统错误 5:"5(拒绝访问。)"的解决办法
附加数据库时报错: 无法打开物理文件 XXX.mdf".操作系统错误 5:"5(拒绝访问.)" 原因是数据库权限无法读取路径下的文件. 解决方案 一: 数据库使用wind ...
- C#操作txt文件并清空添加操作
C#操作txt文件,进行清空添加操作的例子.代码: //把txt清空 FileStream stream = File.Open(Adr,FileMode.OpenOrCreate,FileAcces ...
- Python对文件和文件夹的高级操作模块shutil
shutil模块提供了许多关于文件和文件夹的高级操作. 特别提供了支持文件复制和删除的功能. # 将文件对象fsrc的内容复制到文件类对象fdst.length(可选参数)是缓冲区大小 shutil. ...
- 无法打开物理文件 "X.mdf"。操作系统错误 5:"5(拒绝访问。)"。 (Microsoft SQL Server,错误: 5120)解决
环境 SQLServer 2008 R2 问题 附加数据库出现“无法打开物理文件 "X.mdf".操作系统错误 5:"5(拒绝访问.)". (Microsoft ...
- 浅谈python中文件和文件夹的相关操作
文件操作 文件的打开与关闭 打开文件 使用open(文件名,访问方式)函数,可以打开一个已存在的文件,或者创建一个新的文件. 示例如下: f = open('test.txt') # 访问方式可以省略 ...
- 基于.net EF6 MVC5+WEB Api 的Web系统框架总结(4)-Excel文件读、写操作
Excel文件读.写可以使用Office自带的库(Microsoft.Office.Interop.Excel),前提是本机须安装office才能运行,且不同的office版本之间可能会有兼容问题.还 ...
随机推荐
- unity--------prefab嵌套prefab
最近造了个轮子可以批量替换prefab里的prefab,欢迎大家测试- https://bitbucket.org/xuanyusong/prefab-replace 最近在做UI部分中遇到了这样的 ...
- (转)simple-framework(MaliSDK框架分析)
出自:http://blog.csdn.net/u013467442/article/details/46940501 simple-framework(Mali SDK框架分析) 1.所有的定义及 ...
- CI框架 -- 核心文件 之 Loader.php(加载器)
顾名思义,装载器就是加载元素的,使用CI时,经常加载的有: 加载类库文件:$this->load->library() 加载视图文件:$this->load->view() ...
- 使用OpenSSL创建自己的CA root certificate
在密码学中,CA(Certificate Authority,认证机构)是指一个被多个用户信任的机构,该机构能够创建和指派公钥证书. 为规范起见,我们先介绍本文可能涉及的术语, asymmetric ...
- 一款标注颜色,距离的小软件 markman
长度标记 坐标和矩形标记 色值标记 文字标记 长度自动测量 标记拖拽删除 支持多种图片格式 支持PSD(需用最大兼容保存).PNG.BMP.JPG格式 设计稿自动刷新 在标注的 ...
- EF5+MVC4系列(1) Podwerdesigner15.1设计数据库;PD中间表和EF实体模型设计器生成中间表的区别;EF5.0 表关系插入数据(一对多,多对多)
在上一篇文章中, http://www.cnblogs.com/joeylee/p/3790980.html 我们用 PD15.1 来设计了数据库,并且生成 了sql数据库,现在我们用 vs2013 ...
- YII2 设置session过期时间
设置session过期时间 如何在YII里设置SESSION过期时间,而不需要在php.ini里面设置. 在protected/config/main.php里,设置: 代码如下 复制代码 'comp ...
- mysql 创建和删除用户
1.远程登录mysql mysql -h ip -u root -p 密码 2.创建用户 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码 ...
- 移植3.4.2的Kernel到JZ2440
本文将介绍如何移植linux-3.4.2内核到JZ2440开发板上的全过程,使用的交叉编译工具版本为 arm-linux-gcc-4.3.2.tar.bz2 下面来一步一步介绍如何移植 ...
- Kafka配置说明
Broker Configs Property Default Description broker.id 每个broker都可以用一个唯一的非负整数id进行标识:这个id可以作为broker的 ...