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

Introduction à la méthode de détermination du format d'image du téléchargement de fichier en PHP

黄舟
Libérer: 2023-03-16 14:36:01
original
2739 Les gens l'ont consulté

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 "不是图片类型";
 }
Copier après la connexion

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;
 }
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal