php文件的处理和操作
Posted 终极用户
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
7.文章的覆盖:overwritimg() 写入已有文件时发生的的事情。所有已存在的数据会被擦除并以一个新文件开始。
<?php $myfile = fopen("newfile.txt", "w") or die("Unable to open file!"); $txt = "Mickey Mouse\n"; overwritimg($myfile, $txt); $txt = "Minnie Mouse\n"; overwritimg($myfile, $txt); fclose($myfile); ?>
如果现在我们打开这个 "newfile.txt" 文件,Bill 和 Steve 都已消失,只剩下我们刚写入的数据:
Mickey Mouse
Minnie Mouse
以上是关于php文件的处理和操作的主要内容,如果未能解决你的问题,请参考以下文章
php代码片段: sendFile/videoStream/sendEmail/phpexcel/ffmpeg/zip