Nach dem erfolgreichen Hochladen einer Datei mit einem chinesischen Namen kann die Datei nicht geöffnet werden, da beim Öffnen der Datei festgestellt wird, dass der Dateiname verstümmelt ist.
生如夏花
生如夏花 2019-04-26 09:37:08
0
3
1367
<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>";
        }
    }

Der Code zum Hochladen von Dateien ist wie oben. Als ich eine Datei mit einem chinesischen Namen hochgeladen habe, konnte ich die Datei nach der Transkodierung erfolgreich hochladen und stellte fest, dass der hochgeladene Dateiname auch auf Chinesisch korrekt angezeigt werden konnte. Das Problem bestand jedoch darin, dass ich die Datei nicht durch Klicken öffnen konnte auf den Dateinamen und habe den Dateinamen in der Adressleiste gefunden. Wie kann ich das Problem lösen, dass die Datei nach der Transkodierung einen chinesischen Namen hat und normal geöffnet werden kann?

生如夏花
生如夏花

Antworte allen(2)
Alone88

试一下你保存文件名的时候使用gbk编码,然后读取文件名再转成utf8

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


Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!