2016-10-14 10 views
2

私はdropzone JSプラグインとPHPを使用して複数のファイルをアップロードし、各ファイルのURLを出力しようとしています。複数アップロードPHP

私はこれまでのところ、これを持っている:私はこの仕事をするように見えることはできません

$upload_dir = 'files'; 

    for($i=0; $i<count($_FILES['file']['tmp_name']); $i++) { 
    $tempFile = $_FILES['file']['tmp_name'][$i]; 

    $uploadPath = dirname(__FILE__) . DIRECTORY_SEPARATOR . $upload_dir . DIRECTORY_SEPARATOR; 

    $mainFile = $uploadPath.time().'-'. $_FILES['file']['name'][$i]; 
    $mainFile_short = time().'-'. $_FILES['file']['name'][$i]; 

    if(move_uploaded_file($tempFile,$mainFile)) { 
    } 
    } 

、私は私が間違っているつもりだどこか分かりません。どんなアイデアも素晴らしいだろう!

+2

アップロードは常に成功するとみなしているだけです。悪い仮定。失敗と見なし、失敗をチェックし、成功を楽しい驚きとして扱います。理由のために$ _FILESに '['error']'パラメータがあります... –

+0

MarcBが 'error'値のチェックについて述べていることに加えて、サーバーログにエラーがないかチェックし、エラーが発生していないかどうか確認してくださいクライアント側(devツールコンソール)。それ以外にも、あなたのJSは有効なajax POSTリクエストを作成していますか?あなたはDropzoneに有効なファイルオブジェクトを与えていますか?あなたのファイルは最大アップロード/最大ポストサイズよりも大きいです –

+0

これは、var_dump、print_r、およびdieのようなデバッグが便利な場所の例です。あなたのフォームにenctype = "multipart/form-data"という簡単なチェックだけです。 –

答えて

1
$img = $_FILES['file']; 
$upload_dir = 'files'; 

if(!empty($img)) 
{ 
    $img_desc = reArrayFiles($img); 
    print_r($img_desc); 

    foreach($img_desc as $val) 
    { 
     $tempFile = $val['tmp_name']; 

     $uploadPath = dirname(__FILE__) . DIRECTORY_SEPARATOR . $upload_dir . DIRECTORY_SEPARATOR; 

     $mainFile = $uploadPath.time().'-'. $val['name']; 
     $mainFile_short = time().'-'. $val['name']; 

     if(move_uploaded_file($tempFile,$mainFile)) { 
     } 
    } 
} 
+0

'$ val'または' $ var'ですか? – JazZ

+0

$ val :)申し訳ありません、私の間違い –

+0

$ val ["name"]または$ valを$ varに変更します。 –

関連する問題