2017-09-26 199 views
0

即时将上传的文件从临时目录移动到永久文件夹时遇到问题...请查看我的代码。我可能错过了一些东西,因为代码似乎不起作用。它跳跃直的其他部分的if语句将文件从tmp文件夹移动到永久文件夹

<?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'; 
    } 
} 

?>

+0

是你想上传你的文件到权限777! – M0ns1f

+0

您可能不会指向存在的目录。 'is_dir('audios/uploads')'输出是什么? – Kyrre

+0

不,我没有添加权限。是否有任何地方我可以得到方向来添加文件夹的权限?一旦我将所有东西移动到我的托管站点,这会给我什么问题 audios/uploads /是我的mp3将被存储在哪里 –

回答

1

你的目标目录应该是你需要添加“/”你的目标目录的末尾,你应该给文件夹权限上传目录

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

并且一旦您写入move_uploaded_file它将您的文件从tmp目录移动到您的目标目录。

你这样做了,但是如果条件再次检查了。 如果文件名是有效的上传文件,但由于某种原因无法移动,则不会执行任何操作,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'; 
    } 
} 
?> 

希望这有助于。

+0

我如何将权限添加到我的文件夹 –

+0

Windows 10操作系统,我正在对我的个人笔记本电脑。 ii将很快将该网站移至免费托管服务以测试场地。如果它做得好,我会购买一个域....该服务是www.000webhost.com –

+0

右键单击您的文件夹,然后进入属性检查安全选项卡,您将找到如何设置不同用户类型的权限希望这可以帮助 – 3gth

相关问题