2017-07-11 6 views
0

私のプログラムでは、0から10の写真をアップロードすることができます。PHPの条件付きファイルのアップロードの問題

しかし私のPHPスクリプトでは、ファイルがない場合でもファイルがアップロードされているかどうかをチェックすると、スクリプトが読み込まれます。 ((ISSET($ _ FILES [ 'メディア-PIC2'])) がtrueの場合、例えば)単にファイル( "メディア-PIC1") ユーザーのアップロード他のすべてのスクリプトが読み込まれた場合でも

ので

HTML:

<input type="file" id="upload-pic1" name="media-pic1" class="hidden"> 
 

 
<input type="file" id="upload-pic2" name="media-pic2" class="hidden"> 
 

 
<input type="file" id="upload-pic3" name="media-pic3" class="hidden"> 
 

 
<input type="file" id="upload-pic4" name="media-pic4" class="hidden"> 
 

 
etc

PHP:

if(isset($_FILES['media-pic1'])) 
 
{....} 
 

 
if(isset($_FILES['media-pic2'])) 
 
{....} 
 

 
if(isset($_FILES['media-pic3'])) 
 
{....} 
 

 
... 
 

 
if(isset($_FILES['media-pic10'])) 
 
{....}

解決のためのforループ

+2

[ID年代は一意である必要があります](http://stackoverflow.com/questions/5611963/can-multiple-different-html-elements-have-theなぜなら[JavaScript](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id)に問題を引き起こすからです。これらの要素と対話しようとすると、CSSが表示されます。 –

+0

あなたは 'foreach()'ループを使うほうが良いでしょう。 [is_uploaded_file](http://php.net/manual/en/function.is-uploaded-file.php): –

+0

それは[この](https://stackoverflow.com/q/17492136/5847906)に関連しています – Ayak973

答えて

0

使用を助けてください。 htmlを表示するには、次のコードを使用します。

<?php 
    for ($x = 0; $x <= 10; $x++) { 
     echo '<input type="file" id="upload-pic'.$x.'" name="media-pic'.$x.'" class="hidden">'; 

    } 
?> 

PHPでアップロードし、

<?php 
    for($x=0;$x<=10;$x++){ 
     if(is_uploaded_file($_FILES['media-pic'.$x]['tmp_name']){ 
      //perform required operation. 
     } 
    } 
?> 
関連する問題