中国語名のファイルをアップロードした後、ファイルを開くとファイル名が文字化けしているため、ファイルを開くことができません。
生如夏花
生如夏花 2019-04-26 09:37:08
0
3
1368
<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>";
        }
    }

ファイルをアップロードするコードは上記のとおりです。中国語名を含むファイルをアップロードしたところ、トランスコード後は正常にアップロードでき、アップロードしたファイル名も中国語で正しく表示できましたが、クリックしてもファイルを開くことができないという問題が発生しました。ファイル名に「」を入力し、アドレスバーでファイル名を確認しました。中国語の部分が文字化けしています。トランスコードするとファイル名が中国語になり、ファイルは正常に開くことができます。どうすれば解決できますか?

生如夏花
生如夏花

全員に返信(2)
Alone88

ファイル名を保存するときにgbkエンコードを使用してから、ファイル名を読み取り、utf8に変換してみてください

いいねを押す +0
  • 返事 ありえない
    生如夏花 著者 2019-04-26 14:33:49
生如夏花

りー


いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!