Maison >développement back-end >tutoriel php >Le fichier téléchargé est-il vraiment une image ? Comment vérifier les fichiers image en PHP.

Le fichier téléchargé est-il vraiment une image ? Comment vérifier les fichiers image en PHP.

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-03 11:33:29266parcourir

Is the uploaded file really an image? How to verify image files in PHP.

Vérification des fichiers image en PHP

Lors de la réception de fichiers en PHP, il est crucial de s'assurer qu'il s'agit d'images authentiques pour des raisons de sécurité. Se fier uniquement aux vérifications des extensions de fichiers peut s'avérer peu fiable, car des utilisateurs malveillants peuvent renommer des scripts avec des extensions de type image.

Utiliser getimagesize()

La fonction getimagesize() propose une approche globale pour déterminer si un fichier reçu est une image. Il renvoie un tableau contenant des informations sur l'image, notamment sa largeur, sa hauteur et son type MIME. Voici comment l'implémenter :

<code class="php">if (@is_array(getimagesize($mediapath))) {
    $image = true;
} else {
    $image = false;
}</code>

Si la fonction getimagesize() récupère avec succès un tableau d'informations, elle indique que le fichier est une véritable image. Sinon, il s'agit probablement d'un fichier non image.

Exemple de sortie

Voici un exemple de sortie de getimagesize() :

Array (
[0] => 800
[1] => 450
[2] => 2
[3] => width="800" height="450"
[bits] => 8
[channels] => 3
[mime] => image/jpeg)

Cette sortie montre que le fichier est bien une image d'une largeur de 800 pixels, d'une hauteur de 450 pixels et d'une image/jpeg de type MIME.

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!

Déclaration:
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