PHP上传文件,怎么自动重命名?附源码。
请看上传类代码<?php//注意:使用组件上传,不可以使用$_FILES["Filedata"]["type"]来判断文件类型mb_http_input("utf-8")...
请看上传类代码
<?php
// 注意:使用组件上传,不可以使用 $_FILES["Filedata"]["type"] 来判断文件类型
mb_http_input("utf-8");
mb_http_output("utf-8");
$type=filekzm($_FILES["Filedata"]["name"]);
if ((($type == ".gif")
|| ($type == ".png")
|| ($type == ".jpeg")
|| ($type == ".jpg")
|| ($type == ".bmp"))
&& ($_FILES["Filedata"]["size"] < 200000))
{
if ($_FILES["Filedata"]["error"] > 0)
{
echo "返回错误: " . $_FILES["Filedata"]["error"] . "<br />";
}
else
{
echo "上传的文件: " . $_FILES["Filedata"]["name"] . "<br />";
echo "文件类型: " . $type . "<br />";
echo "文件大小: " . ($_FILES["Filedata"]["size"] / 1024) . " Kb<br />";
echo "临时文件: " . $_FILES["Filedata"]["tmp_name"] . "<br />";
if (file_exists( $_FILES["Filedata"]["name"]))
{
echo $_FILES["Filedata"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["Filedata"]["tmp_name"],
$_FILES["Filedata"]["name"]);
echo "Stored in: " . $_FILES["Filedata"]["name"];
}
}
}
else
{
echo "上传失败,请检查文件类型和文件大小是否符合标准<br />文件类型:".$type.'<br />文件大小:'.($_FILES["Filedata"]["size"] / 1024) . " Kb";
}
function filekzm($a)
{
$c=strrchr($a,'.');
if($c)
{
return $c;
}else{
return '';
}
}
?>
我是从这里下载的程序
http://access2008.cn/update/
这个是FLASH+PHP(ASP)的上传程序,官方自带的是不会进行重命名的,现在我想修改为能够自动重命名的,希望大家修改下!谢谢了
请问专家,如果我要按照日期来命名,要这么修改吖?谢谢了,您提供的代码能用,但是随机的字符太长了! 展开
<?php
// 注意:使用组件上传,不可以使用 $_FILES["Filedata"]["type"] 来判断文件类型
mb_http_input("utf-8");
mb_http_output("utf-8");
$type=filekzm($_FILES["Filedata"]["name"]);
if ((($type == ".gif")
|| ($type == ".png")
|| ($type == ".jpeg")
|| ($type == ".jpg")
|| ($type == ".bmp"))
&& ($_FILES["Filedata"]["size"] < 200000))
{
if ($_FILES["Filedata"]["error"] > 0)
{
echo "返回错误: " . $_FILES["Filedata"]["error"] . "<br />";
}
else
{
echo "上传的文件: " . $_FILES["Filedata"]["name"] . "<br />";
echo "文件类型: " . $type . "<br />";
echo "文件大小: " . ($_FILES["Filedata"]["size"] / 1024) . " Kb<br />";
echo "临时文件: " . $_FILES["Filedata"]["tmp_name"] . "<br />";
if (file_exists( $_FILES["Filedata"]["name"]))
{
echo $_FILES["Filedata"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["Filedata"]["tmp_name"],
$_FILES["Filedata"]["name"]);
echo "Stored in: " . $_FILES["Filedata"]["name"];
}
}
}
else
{
echo "上传失败,请检查文件类型和文件大小是否符合标准<br />文件类型:".$type.'<br />文件大小:'.($_FILES["Filedata"]["size"] / 1024) . " Kb";
}
function filekzm($a)
{
$c=strrchr($a,'.');
if($c)
{
return $c;
}else{
return '';
}
}
?>
我是从这里下载的程序
http://access2008.cn/update/
这个是FLASH+PHP(ASP)的上传程序,官方自带的是不会进行重命名的,现在我想修改为能够自动重命名的,希望大家修改下!谢谢了
请问专家,如果我要按照日期来命名,要这么修改吖?谢谢了,您提供的代码能用,但是随机的字符太长了! 展开
2个回答
展开全部
只用日期会有重名的可能
$_FILES["Filedata"]["name"] = date("Y-m-d") . rand() . $type;
就是在合适的时候改变$_FILES["Filedata"]["name"]的值,如下
echo "上传的文件: " . $_FILES["Filedata"]["name"] . "<br />";
echo "文件类型: " . $type . "<br />";
echo "文件大小: " . ($_FILES["Filedata"]["size"] / 1024) . " Kb<br />";
echo "临时文件: " . $_FILES["Filedata"]["tmp_name"] . "<br />";
$_FILES["Filedata"]["name"] = md5(microtime(1) . rand()) . $type;
$_FILES["Filedata"]["name"] = date("Y-m-d") . rand() . $type;
就是在合适的时候改变$_FILES["Filedata"]["name"]的值,如下
echo "上传的文件: " . $_FILES["Filedata"]["name"] . "<br />";
echo "文件类型: " . $type . "<br />";
echo "文件大小: " . ($_FILES["Filedata"]["size"] / 1024) . " Kb<br />";
echo "临时文件: " . $_FILES["Filedata"]["tmp_name"] . "<br />";
$_FILES["Filedata"]["name"] = md5(microtime(1) . rand()) . $type;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自动重命名是怎么回事?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询