2017-09-26 194 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

相關問題