上传文件或图片进行重命名是我们在php上传中会碰到的一个问题了,在重命名无非就是对你上传的文件生成一个随机的字符串了,包括有Md5,随机,或按时间日期来重命名了,下面我来给大家介绍。
如我们在上传文件页面中如下操作:
$name=$_FILES['userfile']['name']; //将所上传的文件名称赋予name
然后我们要对它进行重命名
//文件名的自动生成
list($usec, $new_name) = explode(" ", microtime());
if(@$extension_name){//限制文件类型为jpg、gif、png、bmp
move_uploaded_file($tmp_name,$new_dir.'/'.$new_name.'.'.$extension_name);//移动到目标文件夹
echo '上传成功';
这样我们就把文件名以时间日期生成了一个新的文件名了,例:
以下是我添加的将文件名重命名为系统时间的代码:
//echo($date);
if ((($_FILES["uppic"]["type"] == "image/gif")
|| ($_FILES["uppic"]["type"] == "image/jpeg")
|| ($_FILES["uppic"]["type"] == "image/pjpeg"))
&& ($_FILES["uppic"]["size"] < 2000000))
{
if ($_FILES["uppic"]["error"] > 0)
{
echo "Return Code: " . $_FILES["uppic"]["error"] . "
";
}
else
{
//echo "Upload: " . $_FILES["uppic"]["name"] . "
";
//echo "Type: " . $_FILES["uppic"]["type"] . "
";
//echo "Size: " . ($_FILES["uppic"]["size"] / 1024) . " Kb
";
//echo "Temp file: " . $_FILES["uppic"]["tmp_name"] . "
";
$uptype = explode(".", $_FILES["uppic"]["name"]);
$newname = $date.".".$uptype[1];
//echo($newname);
$_FILES["uppic"]["name"] = $newname;
if (file_exists("pics/" . $_FILES["uppic"]["name"]))
{
echo $_FILES["uppic"]["name"] . " already exists. ";
}
else
{
$_FILES["uppic"]["name"] =
move_uploaded_file($_FILES["uppic"]["tmp_name"],
"pics/" . $_FILES["uppic"]["name"]);
echo "";
echo "