background image

存为

utf-8 格式的,在给文件名命名时会出现乱码的情况,所以可以用 iconv()函数将原本的

utf-8 格式的文件名转换为 gbk 格式的。

php utf8 编码 上传中文文件名出现乱码的解决方法
想必很多朋友在进行

utf8 编码的 php 开发上传功能的时候,都会遇到这样的一个问题 ,

就是上传中文文件名的文件时,文件名会变成乱码,我们可以用

iconv 函数对文件名进行

重新编码就解决问题了。

代码如下

:

<?php

    header("Content-Type:text/html;charset=utf-8");
    $submit = $_POST['submit'];
    if(isset($submit) && trim($submit) != ''){
    $file = $_FILES['file'];
    if(isset($file['tmp_name'])){
     $name = iconv('utf-8','gb2312',$file['name']); //利用 Iconv 函数对文件名进行重新编码
     if(move_uploaded_file($file['tmp_name'],$name)){
    echo '文件上传成功!';
    echo '图片信息:';
    print_r($file);
   }
}
}
?>