【前言】
PHP拥有多种函数操作文件,包括创建、读取、上传以及编辑文件。
本文总结下文件打开,读取,关闭
【列表】
(1)打开读取文件;(2)打开文件;(3)读取文件;(4)读取单行文件
(5)逐行检查读取;(6)读取单个字符;(7)关闭文件
【详解】
(1)打开读取文件
readfile() 函数读取文件,并把它写入输出缓冲
如果只是想打开一个文件并读取器内容,使用readfile()函数即可
如读取成功则 readfile() 函数返回字节数,关于字节相关知识,我在下篇文章做下介绍
案例:
<?php echo readfile("two.txt"); ?>
这里,我的two.txt为
你好
运行输出结果为:你好6
注意:这里返回的字节数位6,关于字节具体我在下篇文章做详解
(2)打开文件
打开文件还有一个方法fopen(文件名,打开文件的模式),此函数可以提供比readfile()函数更多的选项
fopen() 的第一个参数包含被打开的文件名,第二个参数规定打开文件的模式
打开文件的模式:
r 打开文件为只读。文件指针在文件的开头开始。
w 打开文件为只写。删除文件的内容或创建一个新的文件,如果它不存在。文件指针在文件的开头开始。
a 打开文件只写。文件中现有数据会保留。文件指针在文件结尾开始。创建新的文件,如果文件不存在。
x 创建新文件为只写。返回 FALSE 和错误,如果文件已存在。
r+ 打开文件为读/写、文件指针在文件开头开始。
w+ 打开文件为读/写。删除文件内容或创建新文件,如果它不存在。文件指针在文件开头开始。
a+ 打开文件读/写。文件中已有的数据会保留。文件指针在文件结尾开始。创建新文件,如果它不存在。
x+ 创建新文件为读/写。返回 FALSE 和错误,如果文件已存在。
(3)读取文件
fread(待读取文件名,待读取的最大字节数) 函数读取打开的文件。
第一个参数包含待读取文件的文件名,第二个参数规定待读取的最大字节数。如下 PHP 代码
①把 "webdictionary.txt" 文件读至结尾:
fread($myfile,filesize("webdictionary.txt"));
②只读3个字节
fread($myfile,3);
(4)读取单行文件
fgets() 函数用于从文件读取单行。下例输出 "webdictionary.txt" 文件的首行,实例:
<?php $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); echo fgets($myfile); fclose($myfile); ?>
注意:调用 fgets() 函数之后,文件指针会移动到下一行
(5)逐行检查读取
feof() 函数检查是否已到达 "end-of-file" ,对于遍历未知长度的数据很有用,且可以通过加<br>分行元素,来保留原文件的分行
下例逐行读取 "webdictionary.txt" 文件,直到 end-of-file,实例:
<?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)读取单个字符
fgetc() 函数用于从文件中读取单个字符
下例逐字符读取 "webdictionary.txt" 文件,直到 end-of-file,实例:
<?php $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); // 输出单字符直到 end-of-file while(!feof($myfile)) { echo fgetc($myfile); } fclose($myfile); ?>
注意:在调用 fgetc() 函数之后,文件指针会移动到下一个字符
(7)关闭文件
fclose() 函数用于关闭打开的文件,只有一个参数---待关闭文件的名称(或者存有文件名的变量)
<?php $myfile = fopen("webdictionary.txt", "r"); fclose($myfile); ?>
注意:打开的文件会占用服务器资源,所以用完文件后把它们全部关闭是一个良好的编程习惯
.
相关推荐
在这个示例中,`fopen()`打开文件,'r'参数表示读取模式。`fgets()`用于读取一行,直到遇到换行符。最后,`fclose()`关闭文件指针,释放系统资源。 除了基本的读取,还可以使用`file()`函数将整个文件内容作为数组...
通过文件句柄逐次读取数据,并及时关闭文件句柄,释放资源,是处理大文件的常见方法。类如`Lib_File2`就是为了简化这些操作而设计的,它提供了一系列方法来管理文件读取的过程,并通过单例模式确保资源的合理分配和...
- `7`:这可能指的是`fread()`或`fgets()`,用于从已打开的文件流中读取数据。`fread()`读取特定长度的数据,而`fgets()`则读取一行。 - `8`:这个数字可能指的是`fopen()`函数的模式参数`x`,用于创建新文件并打开...
- 关闭文件完成保存操作。 #### 三、注意事项 - **安全性**:由于涉及到本地文件系统的直接访问,这种方法存在一定的安全隐患。因此,在实际应用中应谨慎使用。 - **兼容性**:此方法仅适用于支持ActiveX控件的...
4. **关闭APK文件**:完成读取操作后,别忘了关闭ZipArchive对象。 ```php $zip->close(); ``` 通过以上步骤,我们就可以在PHP环境中,不依赖JDK,直接读取并解析APK文件中的XML内容了。这对于那些没有安装JDK...
3. **读取XLS文件**:使用库提供的方法打开XLS文件。例如,使用PHPExcel的`IOFactory`来创建一个读取器实例,然后加载文件,代码可能如下: ```php $inputFileName = 'path/to/your/file.xls'; $objPHPExcel = ...
### PHP中读取文件的方法详解 #### 一、前言 在PHP开发中,文件操作是一项非常基础且重要的技能。本文将详细介绍几种常用的文件读取方法,并通过示例代码进行说明,帮助读者更好地理解和掌握这些技术。 #### 二、...
SQLite数据库文件(如`demo.db3`)通常是一个独立的文件,可以直接在文件系统中创建、打开和修改。这使得SQLite非常方便,因为它不需要单独的数据库服务器进程。 在PHP中,你可以使用PDO提供的各种方法进行更复杂的...
在读取文件后,记得使用`fclose()`来关闭文件句柄。这不仅释放了系统资源,还确保了文件的正确关闭,防止数据丢失或文件被意外锁定。 在实际应用中,根据文件类型和需求选择合适的读取方法至关重要。对于纯文本文件...
本篇文章将详细讲解如何使用PHP来读取CSV文件并将其内容输出。 首先,让我们了解`fgetcsv()`函数。它是PHP内置的一个用于读取CSV文件行的函数,它能够逐行解析文件内容,并将每一行的数据作为一个数组返回。`...
`fgetcsv()`函数会从打开的文件指针中读取一行,并将它解析为数组。 ```php <?php $file = fopen('province_city_district.csv', 'r'); // 打开CSV文件 $provinceCityDistrictArray = []; // 初始化三维数组 while...
fopen() 函数用于打开文件并创建一个文件指针,fgets() 用于逐行读取文件内容,直到读取到文件结束标志EOF。然后,fclose() 函数关闭文件指针,释放资源。 在示例代码中,首先定义了一个名为 FileLastLines 的函数...
2. **分块读取**:在服务器端,我们使用`fopen()`函数打开上传的文件,然后使用`fread()`函数以较小的块(例如,1MB)读取文件。这样可以避免一次性加载整个文件,减轻服务器内存压力。 3. **断点续传**:为了实现...
在PHP中,处理TXT文件是常见的任务,包括打开、关闭、检查和读取文件内容。以下是一些关于如何使用PHP操作TXT文件的关键知识点: 1. **文件路径**: 在PHP中,`dirname(__FILE__)` 用于获取当前执行脚本的目录。这...
- `closeFile()`: 在完成读取操作后关闭文件句柄,释放资源。 4. **内存优化** 因为PHP在处理大文件时可能会消耗大量内存,所以这个类可能采用了流式处理或分块读取的方式来降低内存使用。例如,使用fseek()和...
1. **文件的打开与关闭**:如何使用`fopen()`和`fclose()`函数正确地打开和关闭文件。 2. **文件内容的逐行读取**:如何利用`fgets()`函数逐行读取文件内容。 3. **一次性读取整个文件**:如何利用`file_get_...
这段代码中,通过`fopen`打开文件,然后使用`fread`循环读取文件内容并存储在`$data`变量中,最后使用`fclose`关闭文件句柄,并输出文件内容。 #### 五、总结 通过以上介绍,我们可以看到PHP提供的文件处理函数...