时间:2021-05-26
本文实例讲述了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程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
PHP读取txt文件到数组,代码如下:$file_path="test.txt";if(file_exists($file_path)){$file_arr
建立test文件夹PHP代码:true,'info'=>'ok');if(file_exists($_GET['path'])){$rs[]['success'
中间遇到一个问题是提交的中文文件名直接放到header里在IE下会变成乱码,解决方法是将文件名先urlencode一下再放入header,如下。复制代码代码如下
解决中文文件名保存Excel乱码问题,主要是判断火狐或者IE浏览器,然后做对应的判断处理,核心代码如下:System.Web.HttpContext.Curre
很显然file_exists是受了asp的影响,因为asp不但有fileExists还有folderExists,driverExists,那么PHP中file