php检测文件、目录是否存在、合法

php无法正确检测包含中文的文件、目录 2021-09-15
//检查文件或目录是否存在
file_exists(string $filename):bool

//判断给定文件名是否为一个正常的文件
is_file(string $filename):bool

//判断给定文件名是否可读
is_readable(string $filename);bool

//判断给定文件名是否可执行
is_executable(string $filename):bool

//判断给定的文件名是否可写
is_writable(string $filename):bool
is_writeable(string $filename):bool

//判断文件是否是通过 HTTP POST 上传的
is_uploaded_file(string $filename):bool

//判断给定文件名是否是一个目录
is_dir(string $filename):bool

//判断给定文件名是否为一个符号连接
is_link(string $filename):bool

如果文件/目录名中包含中文需要将文件名转码(转码时将文件名与路径一起转码),否则可能无法正确判断

$file = 'C:\Users\Administrator\Desktop\测试文件.txt';
is_file(conv('UTF-8', 'GB2312', $file));

 

{/if}