Maison >développement back-end >tutoriel php >Introduction à la méthode de détermination du format d'image du téléchargement de fichier en PHP
Cet article présente principalement les informations pertinentes sur l'explication détaillée de l'exemple de PHP jugeant le format d'image de téléchargement de fichier. J'espère que cet article pourra aider tout le monde à mettre en œuvre cette méthode. Il est très utile pour référence. it
Explication détaillée de l'exemple de php jugeant le format d'image de téléchargement de fichier
Juger le type d'image de fichier,
$type = $_FILES['image']['tmp_name'];//文件名 //$type = $this->getImagetype( $type ); $filetype = ['jpg', 'jpeg', 'gif', 'bmp', 'png']; if (! in_array($type, $filetype)) { return "不是图片类型"; }
Comme ci-dessus, si l'utilisateur modifie le suffixe du fichier en png, jpeg, etc., il ne peut pas être satisfait. La solution après avoir vérifié les informations est d'utiliser les informations du flux binaire du fichier pour juger si cela se produit. rencontrez ce genre de problème, autant essayer :
//*判断图片上传格式是否为图片 return返回文件后缀 public function getImagetype($filename) { $file = fopen($filename, 'rb'); $bin = fread($file, 2); //只读2字节 fclose($file); $strInfo = @unpack('C2chars', $bin); $typeCode = intval($strInfo['chars1'].$strInfo['chars2']); // dd($typeCode); $fileType = ''; switch ($typeCode) { case 255216: $fileType = 'jpg'; break; case 7173: $fileType = 'gif'; break; case 6677: $fileType = 'bmp'; break; case 13780: $fileType = 'png'; break; default: $fileType = '只能上传图片类型格式'; } // if ($strInfo['chars1']=='-1' AND $strInfo['chars2']=='-40' ) return 'jpg'; // if ($strInfo['chars1']=='-119' AND $strInfo['chars2']=='80' ) return 'png'; return $fileType; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!