该is_dir函数返回参数是否为目录,而is_file返回参数是否为文件。使用file_exists来检查它是否是要么。
$dir = "/this/is/a/directory"; $file = "/this/is/a/file.txt"; echo is_dir($dir) ? "$dir is a directory" : "$dir is not a directory", PHP_EOL, is_file($dir) ? "$dir is a file" : "$dir is not a file", PHP_EOL, file_exists($dir) ? "$dir exists" : "$dir doesn't exist", PHP_EOL, is_dir($file) ? "$file is a directory" : "$file is not a directory", PHP_EOL, is_file($file) ? "$file is a file" : "$file is not a file", PHP_EOL, file_exists($file) ? "$file exists" : "$file doesn't exist", PHP_EOL;
这给出:
/this/is/a/directory is a directory /this/is/a/directory is not a file /this/is/a/directory exists /this/is/a/file.txt is not a directory /this/is/a/file.txt is a file /this/is/a/file.txt exists
使用filetype来检查文件,该文件可能是类型:
fifo
char
dir
block
link
file
socket
unknown
将文件名filetype直接传递给:
echo filetype("~"); // 目录
请注意,如果文件不存在,则filetype返回false并触发E_WARNING。
将文件名传递给is_writable和is_readable函数,分别检查文件是否可写或可读。
false如果文件不存在,函数将正常返回。
使用filemtime并fileatime返回上次修改或访问文件的时间戳。返回值是Unix时间戳-有关详细信息,请参见使用日期和时间。
echo "文件上次修改时间: " . date("Y-m-d", filemtime("file.txt")); echo "上次访问文件的时间 " . date("Y-m-d", fileatime("file.txt"));
$fileToAnalyze = ('/var/www/image.png'); $filePathParts = pathinfo($fileToAnalyze); echo '<pre>'; print_r($filePathParts); echo '</pre>';
此示例将输出:
Array ( [dirname] => /var/www [basename] => image.png [extension] => png [filename] => image )
可以用作:
$filePathParts['dirname'] $filePathParts['basename'] $filePathParts['extension'] $filePathParts['filename']
参数 | 细节 |
---|---|
$路径 | 要解析的文件的完整路径 |
$选项 | 四个可用选项之一[PATHINFO_DIRNAME,PATHINFO_BASENAME,PATHINFO_EXTENSION或PATHINFO_FILENAME] |
如果未传递选项(第二个参数),则返回一个关联数组,否则返回一个字符串。
不验证文件是否存在。
只需将字符串解析为多个部分。不对文件进行验证(不进行mime类型检查等)
扩展名只是“。”的最后一个扩展名。即使从技术上$path 来说,文件的路径image.jpg.png也将是文件。没有扩展名的文件将不返回数组中的扩展元素。.png.jpg