php上传文件与图片重命名方法总结
上传文件或图片进行重命名是我们在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 '上传成功';这样我们就把文件名以时间日期生成了一个新的文件名了,代码如下:
<form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">Filename:</label> <input type="file" name="file" id="file" /> <br /> <input type="submit" name="submit" value="Submit" /> </form>
以下是我添加的将文件名重命名为系统时间的代码:
<?php
$date = date('ymdhis');
//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"] . "<br />";
} else {
//echo "Upload: " . $_FILES["uppic"]["name"] . "<br />";
//echo "Type: " . $_FILES["uppic"]["type"] . "<br />";
//echo "Size: " . ($_FILES["uppic"]["size"] / 1024) . " Kb<br />";
//echo "Temp file: " . $_FILES["uppic"]["tmp_name"] . "<br />";
$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 "<script>alert('上传成功!')</script>";
echo "<script>window.location.href='http://www.111cn.net';</script>";
}
}
} else {
echo "Invalid file";
}
?>好了,就讲到这里了,大家可参考。
教程链接:http://www.phprm.com/scxz/fs1092.html
随意转载~但请保留教程地址★