php上传文件与图片重命名方法总结

上传文件或图片进行重命名是我们在php上传中会碰到的一个问题了,在重命名无非就是对你上传的文件生成一个随机的字符串了,包括有Md5,随机,或按时间日期来重命名了,下面我来给大家介绍。

如我们在上传文件页面中如下操作:

$name=$_FILES['userfile']['name']; //将所上传的文件名称赋予name

然后我们要对它进行重命名,代码如下:

  1. //文件名的自动生成
  2. list($usec, $new_name) = explode(" ", microtime());
  3. if(@$extension_name){//限制文件类型为jpg、gif、png、bmp
  4. move_uploaded_file($tmp_name,$new_dir.'/'.$new_name.'.'.$extension_name);//移动到目标文件夹
  5. echo '上传成功';

这样我们就把文件名以时间日期生成了一个新的文件名了,代码如下:

  1. <form action="upload_file.php" method="post"
  2. enctype="multipart/form-data">
  3. <label for="file">Filename:</label>
  4. <input type="file" name="file" />
  5. <br />
  6. <input type="submit" name="submit" value="Submit" />
  7. </form>

以下是我添加的将文件名重命名为系统时间的代码:

  1. <?php
  2. $date = date(ymdhis);
  3. //echo($date);
  4. if ((($_FILES["uppic"]["type"] == "image/gif")
  5. || ($_FILES["uppic"]["type"] == "image/jpeg")
  6. || ($_FILES["uppic"]["type"] == "image/pjpeg"))
  7. && ($_FILES["uppic"]["size"] < 2000000))
  8. {
  9. if ($_FILES["uppic"]["error"] > 0)
  10. {
  11. echo "Return Code: " . $_FILES["uppic"]["error"] . "<br />";
  12. }
  13. else
  14. {
  15. //echo "Upload: " . $_FILES["uppic"]["name"] . "<br />";
  16. //echo "Type: " . $_FILES["uppic"]["type"] . "<br />";
  17. //echo "Size: " . ($_FILES["uppic"]["size"] / 1024) . " Kb<br />";
  18. //echo "Temp file: " . $_FILES["uppic"]["tmp_name"] . "<br />";
  19. $uptype = explode(".", $_FILES["uppic"]["name"]);
  20. $newname = $date.".".$uptype[1];
  21. //echo($newname);
  22. $_FILES["uppic"]["name"] = $newname;
  23. if (file_exists("pics/" . $_FILES["uppic"]["name"]))
  24. {
  25. echo $_FILES["uppic"]["name"] . " already exists. ";
  26. }
  27. else
  28. {
  29. $_FILES["uppic"]["name"] =
  30. move_uploaded_file($_FILES["uppic"]["tmp_name"],
  31. "pics/" . $_FILES["uppic"]["name"]);
  32. echo "<script>alert('上传成功!')</script>";
  33. echo "<script>window.location.href='http://www.111cn.net';</script>";
  34. }
  35. }
  36. }
  37. else
  38. {
  39. echo "Invalid file";
  40. }
  41. ?>
好了,就讲到这里了,大家可参考。