10

特定のファイルが画像かどうかを確認できますか? PHPでこれを行うにはどうすればよいですか?

ファイルが画像でない場合、警告メッセージを表示したい。

4

5 に答える 5

5

に加えてgetimagesize()、使用できますexif_imagetype()

exif_imagetype() は、イメージの最初のバイトを読み取り、その署名をチェックします。

正しい署名が見つかると、適切な定数値が返されます。それ以外の場合、戻り値は FALSE です。戻り値は、インデックス 2 で getimagesize() が返す値と同じですが、exif_imagetype() の方がはるかに高速です。

どちらの関数でも、ファイルが画像であると判断されない場合は FALSE が返されます。

于 2012-05-19T06:40:00.603 に答える
2

PHPでは、次のように行うことができます

if ((($_FILES['profile_picture']['type'] == 'image/gif') || ($_FILES['profile_picture']['type'] == 'image/jpeg') || ($_FILES['profile_picture']['type'] == 'image/png')))

Javascriptでは次のようにできます

function checkFile() {
   var filename = document.getElementById("upload_file").value;
   var ext = getExt(filename);
 //  alert(filename.files[0].filesize);
  // alert(ext);
   if(ext == "gif" || ext == "jpg" || ext=="png")
      return true;
   alert("Please upload .gif, .jpg and .png files only.");
   document.getElementById("upload_file").value='';
   return false;
}

function getExt(filename) {
   var dot_pos = filename.lastIndexOf(".");
   if(dot_pos == -1)
      return "";
   return filename.substr(dot_pos+1).toLowerCase();
}
于 2012-05-19T06:36:33.683 に答える
1

php使用できfiletype ( string $filename )mime_content_type ( string $filename )

しかしmime_content_type ( string $filename )_deprecated

http://php.net/manual/en/function.filetype.php

ではjavascript、カスタム関数を使用できます

http://my-sliit.blogspot.in/2009/04/how-to-check-upload-file-extension.html

于 2012-05-19T07:17:38.890 に答える
0

私はこれを見つけて...

$type =array('jpg','gif');

foreach($type as $val){

if($_FILES['filename']['type'] == 'image/$val')
{
echo "its an image file";
}
else{
echo "invalid image file"
}
于 2012-05-19T06:43:07.447 に答える