PHP上传文件并提供自定义名称

Die*_*oP. 3 php upload

我正在使用此功能上传我的文件:

if ((($_FILES["Artwork"]["type"] == "image/gif")
|| ($_FILES["Artwork"]["type"] == "image/jpeg")
|| ($_FILES["Artwork"]["type"] == "image/jpg")
|| ($_FILES["Artwork"]["type"] == "image/pjpeg"))
&& ($_FILES["Artwork"]["size"] < 20000000))
  {
  if ($_FILES["Artwork"]["error"] > 0)
    {
    //echo "Return Code: " . $_FILES["Artwork"]["error"] . "<br />";
    }else{
      $imageName = $_FILES['Artwork']['name'];
      move_uploaded_file($_FILES["Artwork"]["tmp_name"],
      $path_image . $imageName);
      }
    }else{
    //echo "invalid file";
    }
Run Code Online (Sandbox Code Playgroud)

如何$imageName = $_FILES['Artwork']['name'];使用自定义名称进行更改,但是在名称中保留文件扩展名,例如:myCustomName.jpg

谢谢!

let*_*cia 7

您需要在代码中修改的唯一一行是:

$imageName = 'CustomName.' . pathinfo($_FILES['Artwork']['name'],PATHINFO_EXTENSION);
Run Code Online (Sandbox Code Playgroud)

'CustomName'在哪里.是图像所需的新名称. pathinfo如果PHP函数用路径和文件名来处理操作.

你的整个代码是:

if ((($_FILES["Artwork"]["type"] == "image/gif")
|| ($_FILES["Artwork"]["type"] == "image/jpeg")
|| ($_FILES["Artwork"]["type"] == "image/jpg")
|| ($_FILES["Artwork"]["type"] == "image/pjpeg"))
&& ($_FILES["Artwork"]["size"] < 20000000))
  {
  if ($_FILES["Artwork"]["error"] > 0)
    {
    //echo "Return Code: " . $_FILES["Artwork"]["error"] . "<br />";
    }else{
      $imageName = 'CustomName.' . pathinfo($_FILES['Artwork']['name'],PATHINFO_EXTENSION);
      move_uploaded_file($_FILES["Artwork"]["tmp_name"],
      $path_image . $imageName);
      }
    }else{
    //echo "invalid file";
    }
Run Code Online (Sandbox Code Playgroud)