cari

Rumah  >  Soal Jawab  >  teks badan

Selepas berjaya memuat naik fail dengan nama Cina, fail itu tidak boleh dibuka kerana nama fail didapati bercelaru semasa membuka fail. Bagaimana untuk menyelesaikan masalah?

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php    
    if($_FILES["file"]["error"]){
        echo "<script>alert('没有选择文件!');location.href='http://127.0.0.1:88/seek_system/admin/help/wenjianceshi.php'</script>";
    }else{
        if(($_FILES["file"]["size"]<10240000)and($_FILES['file']['type']=='application/pdf'))
        {
            //防止文件名重复
            $filename="./upfile/".date('YmdHis',time()+8*60*60).'-'.$_FILES["file"]["name"];
            //转码
            $filename=iconv("UTF-8","gb2312",$filename);   
            if(file_exists($filename)){           
                echo "该文件已存在";
            }else{                        
                //保存文件
                move_uploaded_file($_FILES["file"]["tmp_name"],$filename);
                echo "<script>alert('上传成功!');location.href='http://127.0.0.1:88/seek_system/admin/help/wenjianceshi.php'</script>";
            }
        }else{    
            echo "<script>alert('只能上传PDF文件!');location.href='http://127.0.0.1:88/seek_system/admin/help/wenjianceshi.php'</script>";
        }
    }

Kod untuk memuat naik fail adalah seperti di atas. Apabila saya memuat naik fail yang mengandungi nama Cina, saya berjaya memuat naik fail selepas transcoding, dan mendapati bahawa nama fail yang dimuat naik juga boleh dipaparkan dengan betul dalam bahasa Cina Walau bagaimanapun, masalahnya ialah saya tidak dapat membuka fail dengan mengklik pada nama fail, dan menemui nama fail dalam bar alamat Bahagian Cina bercelaru Bagaimana saya boleh menyelesaikan masalah yang selepas transcoding, fail akan mempunyai nama Cina dan fail boleh dibuka seperti biasa.

生如夏花生如夏花2037 hari yang lalu1379

membalas semua(3)saya akan balas

  • Alone88

    Alone882019-04-26 14:25:15

    Cuba gunakan pengekodan gbk semasa menyimpan nama fail, kemudian baca nama fail dan tukarkannya kepada utf8

    balas
    0
  • 生如夏花

    Tidak mungkin

    生如夏花 · 2019-04-26 14:33:49
  • 生如夏花

    生如夏花2019-04-26 09:46:20

    如果我把$filename=iconv("UTF-8","gb2312",$filename);换成了$filename=iconv("gb2312","UTF-8",$filename);
    发现上传成功后可以正常打开文件了,但是又出现了在浏览器上显示的文件名是乱码的。
    请问结合我上面发的,这个问题该怎么解决呢?有好解决方法的请赐教。


    balas
    0
  • Batalbalas