简体   繁体   English

PHP图像上传器重命名图像?

[英]PHP image uploader rename image?

I'm trying to rename an image when uploading it to my server. 我正在尝试将图像上传到服务器时重命名。 Is there generally an easy way of doing this? 通常有一种简单的方法吗? Below is the php code I'm using. 以下是我正在使用的php代码。 I want to rename it as a variable I'm passing through as a hidden field from a html form. 我想将其重命名为作为html表单的隐藏字段传递的变量。

 //variable from hidden field on form which is from mysql database
 $imageName = $_POST['image_rename'];

 if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/jpg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 8000000))
   {
   if ($_FILES["file"]["error"] > 0)
     {
     echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
     }
   else
     {
     echo "Upload: " . $_FILES["file"]["name"] . "<br />";
     echo "Type: " . $_FILES["file"]["type"] . "<br />";
     echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
     echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

     if (file_exists("../uploads/" . $_FILES["file"]["name"]))
       {
       echo $_FILES["file"]["name"] . " already exists. ";
       }
     else
       {
       move_uploaded_file($_FILES["file"]["tmp_name"], "../uploads/" . $_FILES["file"]["name"]);
       echo "Stored in: " . "../uploads/" . $_FILES["file"]["name"];
       }
     }
   }
 else
   {
   echo "Invalid file";
   }

Try changing the move_uploaded_file() function; 尝试更改move_uploaded_file()函数; add the name you want within the function. 在函数中添加所需的名称。 Just make sure to grab the proper extension, something like: 只需确保获取适当的扩展名即可,例如:

$parts=explode('.',$_FILES['file']['name']);
$newName=$imageName.'.'.$parts[(count($parts)-1)];
move_uploaded_file($_FILES['file']['tmp_name'],'../uploads/'.$newName);

Change 更改

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

to

 move_uploaded_file($_FILES["file"]["tmp_name"], "../uploads/" . $imageName);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM