file_exists中文名失败问题

今天修改下代码,想判断下文件是否存在,代码如下,其中$data['name']是我从数据库中读出的中文字符,比如一个人名,然后去查找路径下面是否含有该人的头像图片:

$headfile = './media/image/crew/'.$data['name'].'.jpg';

if (file_exists(headfile))

{

// do something

}

一直判断失败,开始以为是配置上面的安全模式导致,后来发现是编码问题,要将unicode编码转换为中文目录的gb2312才行,于是改成下面的形式:

$headfile = './media/image/crew/'.$data['name'].'.jpg';

$headfile = iconv('utf-8', 'gb2312', $headfile);

if (file_exists(headfile))

{

// do something

}

依然一直失败,纠结了很久,发现只需要转换文件名的编码就行了,路径不用转换,最后的版本:

$headfile = $data['name'].'.jpg';

$headfile = iconv('utf-8', 'gb2312', $headfile);

if (file_exists('./media/image/crew/'.headfile))

{

// do something

}

问题解决,应该是不含中文的路径就不用转换编码,只转换文件名就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值