将文件从tmp文件夹移动到永久文件夹

时间:2017-09-26 13:39:29

标签: php upload

我将上传的文件从临时目录移动到永久存档时遇到麻烦...请查看我的代码。我可能会遗漏一些东西,因为代码似乎不起作用。它直接跳转到if语句的else部分

<?php
$submit =$_POST['submit'];
if (isset($submit)) 
{   
    $tittle =$_POST['songTitle'];
    $song = $_FILES['song']['name'];//song name
    $target= 'audios/uploads'.$song;
    move_uploaded_file($_FILES['song']['tmp_name'], $target);// gets file from temp directory and moves it to permanent folder  

    if(move_uploaded_file($_FILES['song']['tmp_name'], $target))
    {       
        echo "succcessful";
    }   else{

        echo 'failed';
    }
}

&GT;

1 个答案:

答案 0 :(得分:1)

您的目标目录应该是您需要在目标目录的末尾添加“/”,并且您应该授予文件夹上传目录的权限

 $target= 'audios/uploads/'.$song;

一旦你写了move_uploaded_file,它就会把你的文件从tmp目录移动到你的目标目录。

你做到了,但是如果有条件你再次检查了。 如果filename是有效的上载文件,但由于某种原因无法移动,则不会执行任何操作,并且move_uploaded_file()将返回FALSE。

所以你的情况总是打印假,你只需要写一次。

你的最终代码看起来像这样

<?php
$submit =$_POST['submit'];
if (isset($submit)) 
{   
    $tittle =$_POST['songTitle'];
    $song = $_FILES['song']['name'];//song name
    $target= 'audios/uploads/'.$song;
    if(move_uploaded_file($_FILES['song']['tmp_name'], $target))
    {       
        echo "succcessful";
    }   else{
        echo 'failed';
    }
}
?>

希望这有帮助。