2016-08-08 8 views
-1

私はこの配列の名前を捕まえようとしていましたが、その後私はそれを消毒することができます。私は$ _REQUESTを使用して各ファイル(#number)の名前をキャッチする方法がわかりません。どのようにポスト名の一意の名前を投稿して取得しますか?

<!DOCTYPE html> 
    <html> 
     <head> 
      <title></title> 
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     </head> 
     <body> 
      <form action="upload.php"> 
      File: <input type="file" name="files1" multiple="multiple"/><br/> 
      File: <input type="file" name="files2" multiple="multiple"/><br/> 
      File: <input type="file" name="files3" multiple="multiple"/><br/> 
      File: <input type="file" name="files4" multiple="multiple"/><br/> 
      <input type="submit"> 
      </form> 
     </body> 
    </html> 

理由ますprint_r($ _ REQUEST)のupload.php

if ($_REQUEST) { 
// my problem is right here to catch the numbers of 'files' 
     foreach ($_REQUEST['files'] as $key => $value) { 
      echo $key . '-->' . $value . '<br/>'; 
     } 
    } else { 
     echo 'error'; 
    } 



    print '<pre>'; 
    print_r($_REQUEST); 
    print '</pre>'; 

出力:

Array 
(
    [files1] => focus48.png 
    [files2] => focus48.png 
    [files3] => focus48.png 
    [files4] => focus48.png 
) 
+1

ファイル処理POSTメソッド/検索を要求します有効なenctypeです。 –

+0

SQLではforループを数えることができますが、ポストでは配列の扱いがわかりません。 ['name'] ['id'] –

+1

'multiple'属性を使用する場合は、' ' 'name =" files [] "'の使用に注意してください。 – RiggsFolly

答えて

0

このフォーム内の各ファイルの入力では、あなたの番号を持っている隠された入力を持つことができます配列として。ファイル入力にid =番号は必要ありませんが、参考のために残しました。ここで

<!DOCTYPE html> 
    <html> 
     <head> 
      <title></title> 
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     </head> 
     <body> 
      <form action="upload.php"> 
      File: <input type="file" name="files[]" id="1" multiple="multiple"/><br/> 
      <input name='file_id' value='1' type='hidden' /> 

      File: <input type="file" name="files[]" id="2" multiple="multiple"/><br/> 
      <input name='file_id' value='2' type='hidden' /> 

      File: <input type="file" name="files[]" id="3" multiple="multiple"/><br/> 
      <input name='file_id' value='3' type='hidden' /> 

      File: <input type="file" name="files[]" id="4" multiple="multiple"/><br/> 
      <input name='file_id' value='4' type='hidden' /> 

      <input type="submit"> 
      </form> 
     </body> 
    </html> 

あなたは数字の隠された配列(配列は0で始まる)で数を取得する方法である:

  if ($_REQUEST) { 
     foreach ($_REQUEST['files'] as $key => $value) { 
      echo $key . '-->' . $value . '<br/>'; 
     } 
    } else { 
     echo 'error'; 
    } 



    print '<pre>'; 
    print_r($_REQUEST); 
    print '</pre>'; 

    $file_id = $_POST['file_id']; 
    echo $file_id; 

出力:

0-->file.txt 
1-->file.txt 
2-->file.txt 
3-->file.txt 

Array 
(
    [files] => Array 
     (
      [0] => file.txt 
      [1] => file.txt 
      [2] => file.txt 
      [3] => file.txt 
     ) 

    [file_id] => Array 
     (
      [0] => 1 
      [1] => 2 
      [2] => 3 
      [3] => 4 
     ) 

) 
関連する問題