PHP中file_exists()函数不支持中文文件名解决办法
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 ?>
转载于:https://www.cnblogs.com/keheng/articles/2495983.html
PHP中file_exists()函数不支持中文文件名解决办法相关推荐
- Linux环境下Nginx不支持中文文件名解决办法
当一个文件名称为中文时,或者下载一个的文件名称为中文时,会出现404. 解决办法:增加charset utf-8; nginx配置: server {listen 80;server_name www ...
- 关于《机器学习决策树导出图片、PDF支持中文》解决办法
很久没有更新博客了,一直以为自己默默无闻,埋头苦干.实际上是一种懒惰! 2020年的春天,是一段难忘的记忆!在这段特殊的时光里,让我静心思考,潜心研究.每每遇到技术困惑,总能在CSDN找到解决办法,由 ...
- JqueryQrcode生成二维码不支持中文的解决办法
JqueryQrcode.js有一个小小的缺点,就是默认不支持中文. 这跟js的机制有关系,jquery-qrcode这个库是采用 charCodeAt() 这个方式进行编码转换的, 而这个方法默认会 ...
- idea中Java连接MySQL后中文乱码解决办法
运行连接好数据库后运行Java代码出现中文乱码的错误: 解决办法: 首先注意这些地方,是不是选择了utf8.如果只修改这里变成utf8之后,运行还是乱码,那么进入下一步. 其次,进入这个地方. 进去之 ...
- nvidia docker容器不支持中文的解决办法_用docker搭建深度学习实验环境
tensorflow和pytorch官方都维护了不同版本的docker镜像.借助docker我们可以方便的搭建起深度学习实验环境. 但是想要在同一个容器内同时拥有tensorflow.pytorch. ...
- php basename() 绕过,【转】PHP里的basename函数不支持中文名的解决
今天用到basename 函数获取文件名称时,发现如果是中文的文件名返回只有后缀的空文件名(如:.pdf) string basename ( string path [, string suffix ...
- 如何让Flex AIR压缩解压缩库airxzip也支持中文文件名
最近忙个Flex AIR项目要用到压缩和解压缩打包网络传输功能,所以在网上发现了这个库airxzip,接口使用挺方便的,但是一开始就是不支持中文文件名,压缩后的文件名一直是用UTF-8的,后来从air ...
- 【Windows美化】:修改磁盘或U盘默认图标(常见方式与无需重启、可随时修改、支持中文文件名的独家方式)
Windows美化--修改磁盘或U盘默认图标(常见方式与无需重启支持中文的独家方式) 文章目录 Windows美化--修改磁盘或U盘默认图标(常见方式与无需重启支持中文的独家方式) 一.适用场景 二. ...
- 让Windows下Git和TortoiseGit支持中文文件名/UTF-8
因为msysgit和TortoiseGit已经官方支持UTF-8了,所以本文章内容仅供参考. Git是使用最广泛的分布式版本管理系统,功能强大,速度奇快. Git原本不支Windows,现在被广泛使用 ...
最新文章
- 放授权代码的php文件夹,自己的项目如果包含别人的开源代码,licence文件应放在哪里...
- SAP 修改物料价格那些事
- SSL-ZYC 溜冰
- Python 字符串 - Python零基础入门教程
- 如何编程实现iAMT无线功能的禁用和开启
- 博客“评论王”评选活动开始啦!
- wordpress中直接执行mysql查询语句的常用方法
- xilinx基础篇Ⅰ(7)ISE14.7开发基础流程 [CPLD章节]
- java正则表达 替换_java正则表达式替换
- 【记忆法】记忆法推荐书
- 美国高防服务器亿速云,亿速云香港高防裸金属服务器上线,更强悍的计算性能,更安全的DDoS攻击防护...
- C语言:输出大写的三角形字母表(进阶)
- 三国演义中的十大谎言 VS 程序员十大口头禅
- 基于pytorch的图像识别基础完整教程
- 什么是陀螺仪的dr算法_陀螺仪与加速传感器数据的融合算法解析
- linux之虚拟文件系统源码分析(详解)
- 读书笔记之:《新生 七年就是一辈子》李笑来
- CentOS 5.2下安装网卡驱动
- 电子支付行业大洗牌:央行发10张牌照
- vsco使用教程_VSCO Cam 使用方法技巧
热门文章
- 【JavaScript脚本】——T2事件操作
- 几种常见数据库连接池的使用比较
- MemSQL初体验 - (1)传说中速度最快的关系数据库软件
- vue2.0s中eventBus实现兄弟组件通信
- python-sdk-demo的打包
- Grafana+Prometheus系统监控之MySql
- 关于void main()的误区
- 【转】托管函数的挂钩(完美版)
- Linux线上环境部署zabbix,CentOS 7.3下Zabbix 4.0监控环境安装部署
- 微信公众号页面支付接口java,[Java教程]微信公众号支付(三):页面调用微信支付JS并完成支付...