问答详情
源自:1-3 $_FILES预定义变量解析

问下 为什么 不能上传 汉字名字的文件呢

如题  英文 名字的图片文件 可以 上传  可是上传 汉字的 就出现问题了 header('Content-type:text/html;charset=utf-8')我加了 也不行 上传不了 哪怕 最后 我在这里直接写汉字文件名

move_uploaded_file($tmp_name,"img/"."哈哈哈哈"); 上传是成功了 但是得到的 是一个乱码 文件名字..而不是哈哈哈哈..怎么办啊?求帮助

提问者:慕姐4424294 2015-12-17 09:49

个回答

  • lynhao
    2015-12-17 12:45:13
    已采纳

    是使用iconv函数是可以解决你的问题的

    函数原型:string iconv ( string in_charset, string out_charset, string str )
    使用例子:$content = iconv("GBK", "UTF-8", $content);
    例子如下:
    <?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);
       }
    }
    }
    ?>