PHP - 如何处理文件名乱码

简介:

在中文windows环境下,PHP的文件系列函数(File System),譬如file_exists()mkdir()等,如果路径或文件名中包含中文,则不能够正确识别,导致函数执行不成功。

这是因为在中文windows使用的是GBK编码,而PHP默认是UTF-8编码。

因此对于这个问题,需要将文件名称转换为GBK编码,譬如:

mkdir(iconv("UTF-8", "GBK", "中文"));

如果这类函数用的多,可以自行封装一下,以方便调用。






本文转自 tywali 51CTO博客,原文链接:http://blog.51cto.com/lancelot/1784104,如需转载请自行联系原作者
目录
相关文章
|
PHP 存储
php之上传小案例,根据时间:月日分创建目录并随机生成文件名
<?php /* 接收文件,并分目录存储,生成随机文件名 1.根据时间戳,并按一定规则创建目录 2.获取文件名的后缀名 3.判断大小 */ //根据月日分计算并创建目录 function mk_dir(){ $dir = date('md/i', time()); if(is_dir('./' .$dir)){ return $dir; }e
2542 0
|
安全 PHP
使用PHP中3个神奇常量快速获取目录、文件名和行号
在上一篇《还分不清PHP中fgets、fgetss和fgetcsv吗?快收藏!》中给大家介绍了PHP中fgets、fgetss和fgetcsv的区别使用,有需要的朋友可以学习了解一下~ 本文的主要内容则是介绍如何使用PHP中3个神奇的常量来快速获取当前目录、文件名和行号!
190 0
|
PHP Web App开发
PHP Header下载文件在IE文件名中文乱码问题
解决PHP Header下载文件在IE文件名中文乱码有两种常见的,一种是是把页面编码改成utf8,另一种是对中文url进入urlencode编码,根据UA检测,区别下载,就可以解决了 $filename = "中文.
1246 0
|
API PHP 网络架构
**关于PHP如何定义一个空对象(REST API如何处理空对象和空数组)
在写接口的过程当中,手机端有需求说不让返回json数组,要返回一个对象。 那么我们可以怎么做呢? 其实很简单,强制转换即可。 声明空对象: $empty_object=(object)array(); 或者 $empty_object=(object)null; 把数组转换为对象: ...
1173 0
|
PHP Windows
php遍历windows下中文目录下的所有文件名
有时需要遍历windows下中文目录下的所有的文件名,使用utf-8编码的文件有时会出现乱码,并且不能成功的执行, 这时需要对文件的编码进行一下转换,使用scandir这个函数的时候会连同目录一下列出来,大家可以通过is_dir()这个函数来 做一个判断,我使用目录下所的文件都有扩展所以只做了一个简单的判断代码如下  <? $dir ="e:\\PHPnow-1.5.6
1125 0
|
应用服务中间件 PHP nginx
nginx php No input file specified 如何处理?
配置nginx支持php 出现了No input file specified ? 只要修改下安装目录下的  nginx.conf下的  location ~ \.php$ {              root           html;              fastcgi_pass   127.0.0.1:9000;              fastcgi_ind
2127 0