0

PDF と MS Word ファイルのみを許可し、サイズは 2MB 未満にする必要があります。ここに私のコードを示します。

 $mimes = array(
              'application/pdf',
              'application/x-pdf',
              'application/acrobat',
              'application/msword',
              'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
             ); 

if(!in_array($_FILES['file']['type'], $mimes)) {
    $msg1='<div class="alert alert-error">Invalid file format, Please choose only PDF or MS word files</div>';
} elseif($_FILES['file']['size']>2097152){
    $msg2='<div class="alert alert-error">The file is too large,(must be < 2MB)</div>';
}

私の問題は次のとおりです。 サイズが2MBを超えるpdfファイルを選択すると、 $msg2の代わりに$msg1が表示されます

ファイルが PDF または MS Word ファイルでない場合は$msg1を表示し、ファイルが 2MB を超える場合は$msg2を表示したい

何か助けてください????

4

2 に答える 2

2

あなたが持っている場合

 <form ...>
    <input id='upload' name='upload'>
 </form>

$_FILES['upload']['size'] > 2097152 をテストする必要があります

于 2013-10-13T15:23:34.097 に答える
0

これは.. pdf ファイルをアップロードすると、最初の条件がおかしくなるからです。2M を超えるサイズのファイルをアップロードしようとすると、$_FILES['file']['type'] は null 値を返します。その理由は php.ini ファイルにあります。「upload_max_filesize」という行を見つけてください。おそらく 2M に設定されます。そのため、型は空の文字列を返します。

于 2013-10-13T16:27:09.727 に答える