2017-02-13 2 views
-1

ファイルをアップロードしているときに空の$ _POST配列に問題があります。

function submitUpload() 
{ 
    if(document.getElementById("file").value != ""){ 
     document.getElementById("uploadForm").submit(); 
    } 
    else 
    { 
     alert("Please select a file!"); 
    } 

}

が続いてupload.phpファイルで、私はただのvar_dump()配列$ _FILES:

<div class="popup"> 
    <h3>UPLOAD</h3> 
     <a class="close" href="#">&times;</a> 
     <div class="content"> 
      <form 
       id="uploadForm" 
       method="post" 
       enctype="multipart/form-data" 
       action="resources/upload.php?dir=<?php if(isset($_GET['dir'])){echo $_GET['dir'];} ?>" 
       enctype="multipart/form-data"> 

       <input type="file" name="fichier" id="file" class="inputfile"/> 
       <label for="file">Choisir un fichier</label><br> 
      </form> 
      <button onClick="submitUpload();" id="smbtBtt">Uploader</button> 
     </div> 
</div> 

これはsubmitUploadのfonctionがある:ここでは

は、フォームの$ _POST

午前6時、私の5時間連続番組ですので、私はキング :)。

ありがとうございます!

+0

あなたは使用していますvar formData = new formdata();すべてのファイルデータを取得する機能。 – Gulshan

+0

フォームを閉じる前に送信ボタンを使用する。この変更をチェックする – Gulshan

+0

@Gulshan何も変更しない:/ – Amperclock

答えて

0

このコードを使用してください。それはここにあなたの形式で、ファイル・タイプのフィールドエレメントを使用しています

$('form#uploadForm').submit(function(e){ 
    var formData = new FormData(this); 

$.ajax({ 
url: "upload_file.php",    
type: "POST", 
data: formData, 
mimeType:"multipart/form-data", 
contentType: false, 
cache: false, 
processData:false, 
success: function(data) 
{ 
    alert(data); 
} 
}); 
return false; 
}); 
+0

私のフィールドは以前と同じように使用できますか? – Amperclock

+0

@Alteus check formData変数..入力フィールドのすべてのデータを取得 – Gulshan

0
<div class="popup"> 
    <h3>UPLOAD</h3> 
     <a class="close" href="#">&times;</a> 
     <div class="content"> 
      <form 
       id="uploadForm" 
       method="post" 
       enctype="multipart/form-data" 
       action="resources/upload.php?dir=<?php if(isset($_GET['dir'])){echo $_GET['dir'];} ?>" 
       enctype="multipart/form-data"> 

       <input type="file" name="fichier" id="file" class="inputfile"/> 
       <label for="file">Choisir un fichier</label><br> 
      </form> 
      <button onClick="submitUpload();" id="smbtBtt">Uploader</button> 
     </div> 
</div> 

<script type="text/javascript"> 
    function submitUpload() 
{ 
    if(document.getElementById("file").value != ""){ 
     document.getElementById("uploadForm").submit(); 
    } 
    else 
    { 
     alert("Please select a file!"); 
    } 
} 
</script> 

Upload.php

<?php 
$test=$_FILES["fichier"]["tmp_name"]; 

echo $test; 

?>

+0

私はPOSTメソッドを使用する必要があります。 GETでファイルを転送することはできません。そして、それは空のPHPの私のPOST配列です。 – Amperclock

+0

getメソッドを使って$ _GET ['fichier']を取得できます。もしPOSTメソッドを使用しているなら、できるだけ早く回答を更新します。 –

+0

アップデートとその成功。 .. –

1

助けかもしれません。 $ _POSTの代わりに '$ _FILES'を使用する必要があります。これを試してください

1

申し訳ありませんが、私は$ FILESと$ POST配列を同時に動作させることができませんでした。すべての人に静かなタンク。

+0

あなたが見つけた解決策は何ですか?あなたのコードにはPOSTとFILEを同時に使用することができないので、あなたのコードには何かエラーがあるはずです –

+0

あなたの現在のコードでは、 $ _POSTは空です –

+0

@Anantそれは大丈夫です、私はそれを解決しました。今私はいくつかのACLエラーがあります... T_T – Amperclock

関連する問題