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

yipeiwu_com6年前PHP代码库

本文实例讲述了PHP中file_exists()判断中文文件名无效的解决方法。分享给大家供大家参考。具体方法如下:

php中判断文件是否存在我们会使用file_exists函数或is_file函数,但在使用file_exists时如果你文件名或路径是中文在uft8编码文档时是无效。本文就来解决此问题,下面我们一起来看看。

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

复制代码 代码如下:
<?php
echo file_exists("test.txt");
?>

输出:
1
例子2
复制代码 代码如下:
$realname='中文.txt';

if(file_exists($realname)) {
   // 永远都进不了这里
}
else
{
  echo 'www.jb51.net 提醒你文件不存在了';
}


输出结果是 www.jb51.net 提醒你文件不存在了
但我很惊讶呀文件是存在了,并且路径也没有问题php文件与中文.txt在同一目录所以这样写是没有问题,于时想想会不会是中文问题,我对编码进行转换

解决方案:

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

结果显示1 ,问题解决了
此外还需要提醒大家,在php中最好不要使用中文名字,像apache,linux,php这些对中文支持不怎么好,所以大家尽量使用英文。

希望本文所述对大家的PHP程序设计有所帮助。

相关文章

使用PHPWord生成word文档的方法详解

本文实例讲述了使用PHPWord生成word文档的方法。分享给大家供大家参考,具体如下: 有时我们需要把网页内容保存为Word文档格式,以供其他人员查看和编辑。PHPWord是一个用纯P...

PHP对象转换为数组函数(递归方法)

返回的是一个层次比较分明的数组对象,希望对大家有所帮助,来源WEB开发笔记(www.chhua.com)。 复制代码 代码如下: function object_to_array($ob...

CodeIgniter上传图片成功的全部过程分享

最近几天正在做一个小型CMS,用到图片上传了,想利于CodeIgniter的上传类去实现,但测试中有好多问题,我把经过和要注意的地方分享一下!复制代码 代码如下:<?php ech...

7个超级实用的PHP代码片段

1、超级简单的页面缓存 如果你的工程项目不是基于 CMS 系统或框架,打造一个简单的缓存系统将会非常实在。下面的代码很简单,但是对小网站而言能切切实实解决问题。 复制代码 代码如下: &...

详解PHP实现定时任务的五种方法

定时运行任务对于一个网站来说,是一个比较重要的任务,比如定时发布文档,定时清理垃圾信息等,现在的网站大多数都是采用PHP动态语言开发的,而对于PHP的实现决定了它没有Java和.Net这...