php 检查文件是否存在的一个简单实例,具体源代码如下:

<?php
  $myfile = \"./test.txt\";
  if (file_exists ($myfile)){
    $msg=\"File already exists. \";
  }else{
    /* http://www.manongjc.com/article/1363.html */
    $myfile = @fopen ($myfile, \"w+\") or die (\"Couldn\'t create the file\"  );
    $msg= \"File created! \" ;
    fclose ($myfile);
  }
  echo \"$msg\"; 
?>

代码解析:

首先使用file_exists函数判断该文件是否存在,如果存在,则输出File already exists. 如果不存在,使用fopen函数创建改文件。

注意,fopen字面意思上虽然是打开文件,但是,当我们设置第二个参数为某些值时,也可以用于创建文件,具体参数描述请看下面表:

fopen第二个参数的可能的值

mode 说明
"r" 只读方式打开,将文件指针指向文件头。
"r+" 读写方式打开,将文件指针指向文件头。
"w" 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
"w+" 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
"a" 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
"a+" 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
"x"

创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。

这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。

此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。

"x+"

创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。

这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。

此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。

收藏 打印