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常用代码片段

VSCode 如何操作用户自定义代码片段(快捷键)

php代码片段: sendFile/videoStream/sendEmail/phpexcel/ffmpeg/zip

使用 NodeJS 和 JSDOM/jQuery 从代码片段构建 PHP 页面

动态内存分配php

超实用的php代码片段