0

これは、複数のアップロード用の html マークアップです。検証を実行したいです。

<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="file[]" multiple="multiple">
<input type="submit" value="upload">
</form>

ここにphpコードがあります

if(!empty($_FILES['file'])){        
    foreach($_FILES['file']['name'] as $key => $name)
    {           
                 if($_FILES['file']['error'][$key] == 0 && move_uploaded_file($_FILES['file']['tmp_name'][$key], "images/{$name}")){

            $uploaded[] = $name;
                 }
    }       
    print_r($uploaded);     
}

現在、検証なしでファイルをアップロードしているだけです...サイズを確認し、その画像タイプのみを確認するために何をすべきかわかりません... PHPの専門家が私を助けてください.

これを使用しようとすると、直接アップロードされます

  if($_FILES['file']['size'][$key] > 5000){
                     echo 'file must be under 5 mb';
                   }else{
                     move_uploaded_file($_FILES['file']['tmp_name'][$key], "images/{$name}")

}

4

3 に答える 3

0

画像の種類を確認するには、 http ://us2.php.net/manual/en/function.exif-imagetype.phpを使用できます。

サイズは$_FILES配列(サイズの下)にあります。例:$ _ FILES ['file'] ['size'] [$ key]

于 2012-09-24T11:06:50.857 に答える
0
foreach(...) {
   $fileType = explode(".", $name);
   $fileType = strtolower("." . $fileType[count($fileType)-1]);

   if(!in_array($fileType, array('.gif','.jpg','.jpeg')))
       echo 'Incorrect file type';
   if($_FILES['file']['size'][$key] > 5000)
       echo 'Maximum alowed size is 5MB';

}
于 2012-09-24T11:07:37.860 に答える
0

これでアップロードするためのコードを書いたので、ファイルをアップロードしています

if($_FILES['file']['error'][$key] == 0 && move_uploaded_file($_FILES['file']['tmp_name'][$key], "images/{$name}"))
于 2012-09-24T11:08:10.833 に答える