<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.
Cuba gunakan pengekodan gbk semasa menyimpan nama fail, kemudian baca nama fail dan tukarkannya kepada utf8