您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么解決php文件中文名亂碼問題,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
php文件中文名亂碼的解決辦法:1、在php文件的頭部加入charset代碼:2、設置“iconv('utf-8','gb2312',"upload/".$file["name"]);”即可。
本文操作環境:Windows7系統,PHP7.1版,Dell G3電腦。
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的文件,如下:
執行:
可以看到十分的順利,那看看結果吧 :
此時上傳的文件是我們想要的,但是卻出現了亂碼的情況,嗯,好,那就來解決吧,:
首先,在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); } }
運行:
完美
感謝你能夠認真閱讀完這篇文章,希望小編分享的“怎么解決php文件中文名亂碼問題”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。