php文件中文名亂碼的解決辦法:1、在php文件的頭部加入charset代碼:2、設置“iconv(\’utf-8\’,\’gb2312\’,\”upload/\”.$file[\”name\”]);”即可。
本文操作環(huán)境:windows7系統(tǒng),php7.1版,dell g3電腦。
如何解決php文件中文名亂碼問題?
php上傳文件中文文件名亂碼的解決方法
文件上傳是我們在處理表單提交時候最常用的功能之一,今天寫了一個小小的demo,如下:
先看結構:
html為表單提交的頁面,php為處理表單的文件,upload為上傳文件所放的位置
html:
<!doctype html><html lang=\”en\”><head> <meta charset=\”utf-8\”> <title>文件上傳</title></head><body><form action=\”file_updata.php\” method=\”post\” enctype=\”multipart/form-data\”> <label for=\”files\”>文件上傳</label> <input type=\”file\” id=\”files\” name=\”file\”> <br/> <input type=\”submit\” name=\”submits\” value=\”提交\”></form></body></html>
php:
$file = $_files[\”file\”];if ($file[\”error\”] > 0) { echo \”錯誤:\” . $file[\”error\”];} else { echo \”文件名稱:\” . $file[\”name\”] . \”</br>\”; echo \”文件類型:\” . $file[\”type\”] . \”</br>\”; echo \”文件大小:\” . ($file[\”size\”] / 1024) . \”k</br>\”; echo \”文件臨時存儲的位置:\” . $file[\”tmp_name\”] . \”</br>\”; //保存上傳的文件 if (file_exists(\”upload\” . $file[\”name\”])) { echo $file[\”name\”] . \”文件已經存在\”; } else { //如果目錄不存在則將該文件上傳 move_uploaded_file($file[\’tmp_name\’], \”upload/\” . $file[\”name\”]); echo \’文件上傳成功!\’; }}
我上傳了個.txt的文件,如下:
執(zhí)行:
可以看到十分的順利,那看看結果吧 :
此時上傳的文件是我們想要的,但是卻出現(xiàn)了亂碼的情況,嗯,好,那就來解決吧,:
首先,在php文件的頭部加這么一段代碼:
header(\”content-type: text/html; charset=utf-8\”);
然后定義一個變量:
$name = iconv(\’utf-8\’,\’gb2312\’,\”upload/\”.$file[\”name\”]);
好,那我們看看整個的php頁面:
header(\”content-type: text/html; charset=utf-8\”);$file = $_files[\”file\”];if($file[\”error\”]>0){ echo \”錯誤:\”.$file[\”error\”];}else{ $name = iconv(\’utf-8\’,\’gb2312\’,\”upload/\”.$file[\”name\”]); echo \”文件名稱:\”.$file[\”name\”].\”</br>\”; echo \”文件類型:\”.$file[\”type\”].\”</br>\”; echo \”文件大?。篭”.($file[\”size\”]/1024).\”k</br>\”; echo \”文件臨時存儲的位置:\”.$file[\”tmp_name\”].\”</br>\”; //保存上傳的文件 if(file_exists(\”upload\”.$file[\”name\”])){ echo $file[\”name\”].\”文件已經存在\”; }else{ //如果目錄不存在則將該文件上傳 if(move_uploaded_file($file[\’tmp_name\’],$name)){// move_uploaded_file($file[\’tmp_name\’],\”upload/\”.$file[\”name\”]); echo \’文件上傳成功!\’; echo \’圖片信息:\’; print_r($file); } }
運行:
完美