php中函数move_uploaded_file()移动中文文件报错的解决方法

Posted afew

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php中函数move_uploaded_file()移动中文文件报错的解决方法相关的知识,希望对你有一定的参考价值。

在windos中文系统上要求传入的参数如果有中文必须是GBK编码

1、用iconv()转换字符集代码如下

$target_pt = ‘./uploads/‘.uniqid().‘-‘.$images[‘name‘];
//windows下支持中文名字上传
$upload_file_pt = iconv("UTF-8", "GB2312", $target_pt);
if (!move_uploaded_file($images[‘tmp_name‘], $upload_file_pt)) {
$GLOBALS[‘error_message‘] = ‘上传失败‘;
return;
}

2、直接自己取名字用uniqid()获取名字,用pathinfo()获取后缀名代码如下

$ext=pathinfo($_FILES[‘avatar‘][‘name‘], PATHINFO_EXTENSION);
$target = ‘uploads/‘.uniqid().‘.‘.$ext;
if (!move_uploaded_file($_FILES[‘avatar‘][‘tmp_name‘], $target)) {
$GLOBALS[‘error_message‘] = ‘上传文件失败‘;
return;
}
 

以上是关于php中函数move_uploaded_file()移动中文文件报错的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

PHP中调用move_uploaded_file函数提示failed to open stream和 Unable to move

php中函数move_uploaded_file()移动中文文件报错的解决方法

PHP 文件上传之常见问题($_FILES为空,move_uploaded_file()函数报错)

解决PHP move_uploaded_file函数移动图片失败

PHP文件上传 move_uploaded_file() 参数的正确写法

Ubuntu Server不会使用PHP“move_uploaded_file”上传文件