如何解决php文件中文名乱码问题
时间:2022-02-11 13:56
php文件中文名乱码的解决办法:1、在php文件的头部加入charset代码:2、设置“iconv('utf-8','gb2312',"upload/".$file["name"]);”即可。 本文操作环境:Windows7系统,PHP7.1版,Dell G3电脑。 如何解决php文件中文名乱码问题? php上传文件中文文件名乱码的解决方法 文件上传是我们在处理表单提交时候最常用的功能之一,今天写了一个小小的demo,如下: 先看结构: html为表单提交的页面,php为处理表单的文件,upload为上传文件所放的位置 html: php: 我上传了个.txt的文件,如下: 执行: 可以看到十分的顺利,那看看结果吧 : 此时上传的文件是我们想要的,但是却出现了乱码的情况,嗯,好,那就来解决吧,: 首先,在php文件的头部加这么一段代码: 然后定义一个变量: 好,那我们看看整个的PHP页面: 运行: 完美 推荐学习:《PHP视频教程》 以上就是如何解决php文件中文名乱码问题的详细内容,更多请关注gxlsystem其它相关文章!<!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>
$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 '文件上传成功!';
}
}
header("Content-type: text/html; charset=utf-8");
$name = iconv('utf-8','gb2312',"upload/".$file["name"]);
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);
}
}