• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

PHP中file_exists()函数不支持中文文件名解决办法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

PHP中通常使用file_exists()判断某个文件或者文件夹是否存在,如果文件或文件夹存在则返回true,否则返回false。今天写程序时发现,在网页使用UTF8编码的情况下,该函数对于中文文件名或者文件夹名不能返回正确值,始终返回false。猜测可能是编码不同导致PHP不能正确判断。

下面是不能够返回正确值的代码,无论文件是否在都返回不在:

1 <?php;
2 $file="/attachment/21/0/材料.rar";
3 $newfile = dirname(__FILE__).$file;
4 
5 echo file_exists($newfile);
6 ?>

 

增加了一句将UTF8编码转换为GB2312编码的语句,改进后可以了正确判断了:

1 <?php
2 $file="/attachment/21/0/材料.rar";
3 $newfile = dirname(__FILE__).$file;
4 
5 $file=iconv('UTF-8','GB2312',$file);
6 
7 echo file_exists($newfile);
8 ?>

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHPsocket模拟POST请求发布时间:2022-07-10
下一篇:
php://input发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap