我有一个表单,用户可以在其中上传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>";
}
?>
答案 0 :(得分:3)
$targetfolder = $targetfolder . basename( $_FILES['file']['name']) ;
在创建$targetfolder
变量时,出于某种原因要向其添加基本名称。因此,如果文件名为something.jpg
,而目标文件夹为/a/b/c/
,则将得到/a/b/c/something.jpg
作为$targetfolder
的值。
稍后在代码中再次添加您自己的文件名:
if(move_uploaded_file($_FILES['file']['tmp_name'], $targetfolder .$filename))
因此,我认为如果一起删除$targetfolder = $targetfolder . basename( $_FILES['file']['name']) ;
会很高兴。