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

如何解決php文件中文名亂碼問(wèn)題?
php上傳文件中文文件名亂碼的解決方法
文件上傳是我們?cè)谔幚肀韱翁峤粫r(shí)候最常用的功能之一,今天寫(xiě)了一個(gè)小小的demo,如下:
先看結(jié)構(gòu):
html為表單提交的頁(yè)面,php為處理表單的文件,upload為上傳文件所放的位置
html:
文件上傳
php:
$file = $_FILES["file"];
if ($file["error"] > 0) {
echo "錯(cuò)誤:" . $file["error"];
} else {
echo "文件名稱(chēng):" . $file["name"] . "";
echo "文件類(lèi)型:" . $file["type"] . "";
echo "文件大小:" . ($file["size"] / 1024) . "K";
echo "文件臨時(shí)存儲(chǔ)的位置:" . $file["tmp_name"] . "";
//保存上傳的文件
if (file_exists("upload" . $file["name"])) {
echo $file["name"] . "文件已經(jīng)存在";
} else {
//如果目錄不存在則將該文件上傳
move_uploaded_file($file['tmp_name'], "upload/" . $file["name"]);
echo '文件上傳成功!';
}
}
我上傳了個(gè).txt的文件,如下:
執(zhí)行:
可以看到十分的順利,那看看結(jié)果吧 :
此時(shí)上傳的文件是我們想要的,但是卻出現(xiàn)了亂碼的情況,嗯,好,那就來(lái)解決吧,:
首先,在php文件的頭部加這么一段代碼:
header("Content-type: text/html; charset=utf-8");
然后定義一個(gè)變量:
$name = iconv('utf-8','gb2312',"upload/".$file["name"]);
好,那我們看看整個(gè)的PHP頁(yè)面:
header("Content-type: text/html; charset=utf-8");
$file = $_FILES["file"];
if($file["error"]>0){
echo "錯(cuò)誤:".$file["error"];
}else{
$name = iconv('utf-8','gb2312',"upload/".$file["name"]);
echo "文件名稱(chēng):".$file["name"]."";
echo "文件類(lèi)型:".$file["type"]."";
echo "文件大?。?.($file["size"]/1024)."K";
echo "文件臨時(shí)存儲(chǔ)的位置:".$file["tmp_name"]."";
//保存上傳的文件
if(file_exists("upload".$file["name"])){
echo $file["name"]."文件已經(jīng)存在";
}else{
//如果目錄不存在則將該文件上傳
if(move_uploaded_file($file['tmp_name'],$name)){
// move_uploaded_file($file['tmp_name'],"upload/".$file["name"]);
echo '文件上傳成功!';
echo '圖片信息:';
print_r($file);
}
}
運(yùn)行:
完美
文章名稱(chēng):如何解決php文件中文名亂碼問(wèn)題
分享鏈接:http://m.fisionsoft.com.cn/article/djhhpjo.html


咨詢(xún)
建站咨詢(xún)
