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

いいえ私は権限を追加していません。どこにでも私はフォルダのアクセス許可を追加するための指示を得ることができますか?一度私は私のホスティングサイトにすべてを移動すると、これは私に問題を与えるでしょう 私のmp3sが格納される場所です –

答えて

1

の他の部分にストレートジャンプアップロード

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

とあなたの書き込みmove_uploaded_fileたら、それはあなたのターゲットディレクトリにtmpディレクトリからファイルを移動したディレクトリ

あなたはそれを行いましたが、条件で再度チェックしました。 filenameが有効なアップロードファイルであるが何らかの理由で移動できない場合、何も行われず、move_uploaded_file()はFALSEを返します。

あなたの状態は常に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

関連する問題