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?
生如夏花
生如夏花 2019-04-26 09:37:08
0
3
1393
<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.

生如夏花
生如夏花

membalas semua(2)
Alone88

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

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


Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan