Php 简明教程
PHP - File Existence
在对文件执行任何处理之前,经常实用的是检查你现在尝试打开的文件是否确实存在。如果不是,程序可能会发出 runtime exception 。
PHP 的内置函数库在这方面提供了一些实用函数。本章中讨论的某些函数有 −
-
file_exists() − 测试文件是否存在
-
is_file() − fopen() 返回的句柄引用的是文件还是目录
-
is_readable() − 测试你打开的文件是否允许读取数据
-
is_writable() − 测试文件是否允许写入数据
The file_exists() Function
此函数适用于文件和目录。它检查给定的文件或目录是否存在。
file_exists(string $filename): bool
此函数的唯一参数是一个字符串,代表带有完整路径的文件/目录。此函数将根据文件是否存在返回真或假。
Example
以下程序检查文件 “hello.txt” 是否存在。
<?php
$filename = 'hello.txt';
if (file_exists($filename)) {
$message = "The file $filename exists";
} else {
$message = "The file $filename does not exist";
}
echo $message;
?>
如果当前目录中存在文件,则消息为 −
The file hello.txt exists
如果没有,则消息为 −
The file hello.txt does not exist
Example
指向文件的字符串可能具有相对路径或绝对路径。假设 “hello.txt” 文件可在当前目录中的 “hello” 子目录中找到。
<?php
$filename = 'hello/hello.txt';
if (file_exists($filename)) {
$message = "The file $filename exists";
} else {
$message = "The file $filename does not exist";
}
echo $message;
?>
它将生成以下 output −
The file hello/hello.txt exists
The is_file() Function
file_exists() 函数为现有文件和目录返回 true 。 is_file() 函数可帮助您确定是否为文件。
is_file ( string $filename ) : bool
以下示例展示了 is_file() 函数的工作原理 −
<?php
$filename = 'hello.txt';
if (is_file($filename)) {
$message = "$filename is a file";
} else {
$message = "$filename is a not a file";
}
echo $message;
?>
output 表明它是一个文件 −
hello.txt is a file
现在,将 “$filename” 更改为目录并查看结果 −
<?php
$filename = hello;
if (is_file($filename)) {
$message = "$filename is a file";
} else {
$message = "$filename is a not a file";
}
echo $message;
?>
现在,您将得知 “hello” 不是文件。
请注意, is_file() 函数接受 $filename ,仅在 $filename 为文件且存在时返回 true 。
The is_readable() Function
有时,您可能希望事先检查是否可以读取文件。 is_readable() 函数可以确定此事实。
is_readable ( string $filename ) : bool