php一段文件上传代码,高手帮看看,如何修改临时文件名
我发现有汉字的上传上去都是乱码,这个怎么改临时文件名。然后上传到服务器上,前台显示的时候怎么能再让它显示成汉字?<formaction="upload_file.php"...
我发现有汉字的上传上去都是乱码,这个怎么改临时文件名。然后上传到服务器上,前台显示的时候怎么能再让它显示成汉字?
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">请选择文件:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
<?php
//这是上传代码
if ($_FILES["file"]["error"] > 0)
{
echo "文件错误信息: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
?> 展开
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">请选择文件:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
<?php
//这是上传代码
if ($_FILES["file"]["error"] > 0)
{
echo "文件错误信息: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
?> 展开
4个回答
展开全部
乱码跟临时文件名没有关系,只需要在存储时更改编码为gb2312,显示时转回utf-8等。
我改好了,请看:
<?php
//这是上传代码
if ($_FILES["file"]["error"] > 0)
{
echo "文件错误信息: " . $_FILES["file"]["error"] . "<br />";
}
else
{
$storage_name=iconv("UTF-8","gb2312",$_FILES['file']['name']); //存储时使用gb2312编码,因为你使用的是简体中文操作系统
$display_name=iconv('gb2312','UTF-8',$storage_name); //在网页上显示时使用utf-8或其他编码,视php文件保存时的编码类型而定。保存为utf-8的方法:在<head>标签间加上<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,然后保存时选择文件编码utf-8,确定保存。
echo "Upload:".$display_name."<br/>";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("upload/" . $storage_name))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $storage_name);
echo "Stored in: " . "upload/" .$display_name;
}
}
?>
我改好了,请看:
<?php
//这是上传代码
if ($_FILES["file"]["error"] > 0)
{
echo "文件错误信息: " . $_FILES["file"]["error"] . "<br />";
}
else
{
$storage_name=iconv("UTF-8","gb2312",$_FILES['file']['name']); //存储时使用gb2312编码,因为你使用的是简体中文操作系统
$display_name=iconv('gb2312','UTF-8',$storage_name); //在网页上显示时使用utf-8或其他编码,视php文件保存时的编码类型而定。保存为utf-8的方法:在<head>标签间加上<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,然后保存时选择文件编码utf-8,确定保存。
echo "Upload:".$display_name."<br/>";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("upload/" . $storage_name))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $storage_name);
echo "Stored in: " . "upload/" .$display_name;
}
}
?>
展开全部
你加一句这个试试
<META http-equiv=Content-Type content="text/html; charset=gbk">
下面的$name为你想要的名字。
move_uploaded_file($_FILES["file"]["tmp_name"],
$name);
<META http-equiv=Content-Type content="text/html; charset=gbk">
下面的$name为你想要的名字。
move_uploaded_file($_FILES["file"]["tmp_name"],
$name);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个页面你设置他的编码格式没有 没编码格式 不一样的环境 不一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询