如何在php中更改文件名

时间:2015-11-26 08:18:42

标签: php html

实际上我想在插入数据库后更改文件名,我试过但是在插入值的时候我改变了但是在移动文件时我无法更改文件名,

我想更改文件名afeter我想移动到一个文件夹,在DB中插入该值

if (isset($_FILES['file'])) {
  move_uploaded_file(
      $_FILES['file']['tmp_name'],
      "upload/" . $_FILES['file']['name']
  );

  // here i got original filename,but i wnt change the filename
  $filename = $_FILES['file']['name'];
  $extension = pathinfo($filename, PATHINFO_EXTENSION);

  // so here i changed filename but inserting in this file name and while in originalfilename,how to change that original filename
  $original_file = md5($filename) . time() . rand(10, 1000) . '-' .$extension;

  $sql = mysql_query("INSERT INTO useralbum(photo) VALUES('$original_file')");
  if ($sql) {
    echo "SUCCESS";
  } else {
    echo "ERROR".mysql_error();
  }
}

2 个答案:

答案 0 :(得分:0)

您必须先重命名然后上传 -

$filename =$_FILES['file']['name'];
$extension = pathinfo($filename, PATHINFO_EXTENSION);
$original_file =md5($filename).time().rand(10,1000).'.'.$extension; // Rename
move_uploaded_file($_FILES['file']['tmp_name'],"upload/".$original_file); // Upload
// rest of the code

答案 1 :(得分:0)

move_uploaded_file($_FILES['file']['tmp_name'],"upload/".$_FILES['file']['name']);

此功能将文件移动到上传文件夹中。因此,如果您想更改文件名,只需更改

$_FILES['file']['name']

换个名字。 例如:

move_uploaded_file($_FILES['file']['tmp_name'],"upload/[YOUR_FILE_NAME]");