在上传php之前将文件重命名为特定名称

Fay*_*z I 1 php rename

我有一个表单,用户可以在其中上传 jpeg 图像,但是我在将文件重命名为特定名称时遇到问题。(我的代码没有删除旧名称并在结果的扩展示例后添加新名称: originalname.jpgnewname.jpg )

下面是我的 img-upload-processor.php

<?php
$temp = explode('.',$_FILES['file']['name']);
$extension = end($temp);
$targetfolder = "image/";
$newname="newname";
$filename = $newname . '.' . $extension;
$targetfolder = $targetfolder   . basename( $_FILES['file']['name']) ;

$ok=1;

$file_type=$_FILES['file']['type'];

if ($file_type=="image/jpeg") {

    if(move_uploaded_file($_FILES['file']['tmp_name'], $targetfolder .$filename))
    {

        echo "<span class='green'>New Logo  uploaded</span>.<br>";

    }
    else {

        echo "<span class='red'>Problem uploading file </span>.";

    }

}
else {

     echo "You may only upload <span class='red'> jpeg </span> images.<br>";

}
?>
Run Code Online (Sandbox Code Playgroud)

Jor*_*n S 5

$targetfolder = $targetfolder   . basename( $_FILES['file']['name']) ;
Run Code Online (Sandbox Code Playgroud)

在创建$targetfolder变量时,出于某种原因向其添加了基本名称。因此,如果该文件被调用something.jpg和目标文件夹是/a/b/c/你会得到/a/b/c/something.jpg的价值$targetfolder

稍后在您的代码中,您再次添加自己的文件名:

if(move_uploaded_file($_FILES['file']['tmp_name'], $targetfolder .$filename))
Run Code Online (Sandbox Code Playgroud)

所以我想如果你把$targetfolder = $targetfolder . basename( $_FILES['file']['name']) ;所有的东西都删除,你会很高兴的。