php file_exists怎么判断中文文件名_检测中文名无效解决方法

发布时间:2020-03-01编辑:脚本学堂
本文介绍了php file_exists()判断中文文件名无效的原因分析,file_exists()判断中文文件名无效的解决方法,有关编码转换的方法,一起来了解下吧。

php file_exists()判断中文文件名无效的解决方法

php中判断文件是否存在,一般是使用file_exists函数或is_file函数,

但在使用file_exists时,叵文件名或路径是中文在uft8编码文档时是无效。

定义和用法:
file_exists() 函数检查文件或目录是否存在。
如果指定的文件或目录存在则返回 true,否则返回 false。

例1:
 

复制代码 代码示例:
<?php
echo file_exists("test.txt");

输出:
1

例2:
 

复制代码 代码示例:
<?php
$realname='中文.txt';
if(file_exists($realname)) {
   // pass
}
else
{
  echo 'www.jb200.com 提醒文件不存在了';
}

输出结果:
www.jb200.com 提醒文件不存在了

文件是存在了,并且路径也没有问题php文件与中文.txt在同一目录所以这样写是没有问题,可能是中文问题,需要进行编码转换

例子:
 

复制代码 代码示例:
$realname='中文.txt';
if(file_exists(iconv('UTF-8','GB2312',$realname))) {
   // 这样就可以支持了
}
 

结果显示1 ,问题解决了

注意,在php中最好不要使用中文名字,像apache,linux,php这些对中文支持不怎么好,尽量使用英文吧。