新聞中心
這里有您想知道的互聯(lián)網營銷解決方案
如何解決php文件中文名亂碼問題
本文操作環(huán)境:Windows7系統(tǒng),php7.1版,Dell G3電腦。

如何解決php文件中文名亂碼問題?
php上傳文件中文文件名亂碼的解決方法
文件上傳是我們在處理表單提交時候最常用的功能之一,今天寫了一個小小的demo,如下:
先看結構:
html為表單提交的頁面,php為處理表單的文件,upload為上傳文件所放的位置
html:
文件上傳
php:
$file = $_FILES["file"];
if ($file["error"] > 0) {
echo "錯誤:" . $file["error"];
} else {
echo "文件名稱:" . $file["name"] . "";
echo "文件類型:" . $file["type"] . "";
echo "文件大?。? . ($file["size"] / 1024) . "K";
echo "文件臨時存儲的位置:" . $file["tmp_name"] . "";
//保存上傳的文件
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"]."";
echo "文件類型:".$file["type"]."";
echo "文件大小:".($file["size"]/1024)."K";
echo "文件臨時存儲的位置:".$file["tmp_name"]."";
//保存上傳的文件
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文件中文名亂碼問題
當前URL:http://www.5511xx.com/article/djhhpjo.html


咨詢
建站咨詢
