当前位置: 首页 > php>阅读正文

php判断文件存在,读取文件内容,写入数据到文件

2021.9.3 朱丰华 1691 次 留下评论 1407字

本节介绍php对文件的基本操作,包括

  • 判断文件夹/文件是否存在
  • 读取文件数据
  • 写入数据到文件
  • 创建/删除文件,或文件夹

判断文件是否存在

使用 file_exists 函数判断文件/文件夹是否存在

<?php

$exist = file_exists("新建文件夹");  // 参数,文件名

var_dump($exist);  // true or false

如果要进一步判定该文件,到底是普通文件,还是文件夹?可以使用

  • is_file(“文件名”) ==》判断是普通文件
  • is_dir(“文件夹”) ==》判断是文件夹

读写文件内容

使用 fopen 打开与操作文件,返回一个句柄

<?php
$handle = fopen("文件名", "打开方式");
?>
mode说明
'r'只读方式打开,将文件指针指向文件头。
'r+'读写方式打开,将文件指针指向文件头。
'w'写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
'w+'读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
'a'写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
'a+'读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
'x'创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 false,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。
'x+'创建并以读写方式打开,其他的行为和 'x' 一样。
'c'打开该文件仅用于写入。如果文件不存在,则创建该文件。如果它存在,它既不会被截断(与“w”相反),也不会调用此函数失败(与“x”的情况相同)。文件指针位于文件的开头。如果需要在尝试修改文件之前获得建议锁(请参见flock()),这可能很有用,因为使用“w”可以在获得锁之前截断文件(如果需要截断,则可以在请求锁后使用ftruncate()。
'c+'打开文件进行读写;否则,它的行为与“c”相同。

读取文件内容

使用 fgets 按行读取,或 fgetc 按字符读取

在读取内容时,可以使用 feof($file) 判断是否读取到结尾

<?php
 $file = fopen("index.html", "r") or exit("Unable to open file!");
 //Output a line of the file until the end is reached
 while(!feof($file))
 {
 echo fgets($file);
 }
 fclose($file);
 ?>

创建写入数据到文件

使用 w 方式打开文件时若不存在此文件,会自动创建

使用 fwrite 写入字符串,返回写入的长度

 <?php
 $file = fopen("test.txt","w");
 echo fwrite($file,"Hello World. Testing!");
 fclose($file);
 ?> 

如果希望追加数据而不是覆盖,使用 a 方式

文件的创建删除

这里举例一些其他常用的文件/文件夹操作函数

  • mkdir() ==》创建文件夹
  • rmdir() ==》删除文件夹,(文件夹内无文件)
  • opendir() ==》打卡文件夹,返回资源
  • readdir() ==》读取当前打开目录下一个文件
  • getcwd() ==》获取当前工作目录
  • ullink() ==》删除指定文件

本篇完,还有疑问?留下评论吧

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注