Maison >développement back-end >tutoriel php >Fonction PHP pour déterminer le type de fichier
En PHP, nous avons souvent besoin de traiter en fonction du type de fichier, comme la mise à l'échelle et le recadrage de différents types d'images. Dans ce cas, il est très important de déterminer le type de fichier. Ainsi, cet article présentera plusieurs fonctions PHP couramment utilisées pour déterminer les types de fichiers.
Dans les versions antérieures à PHP5.3, vous pouvez utiliser la fonction mime_content_type pour obtenir le type MIME du fichier. La syntaxe de cette fonction est la suivante :
string mime_content_type ( string $filename )
Cette fonction accepte un nom de fichier en paramètre et renvoie le type MIME du fichier. Par exemple :
$filename = 'test.jpg'; $mime_type = mime_content_type($filename); echo "The MIME type of $filename is: $mime_type";
Cette fonction peut déterminer les types de fichiers les plus courants, tels que les images, l'audio, la vidéo, le texte, etc. Cependant, il ne prend pas en charge tous les types de fichiers. Dans certains cas, il peut renvoyer un type MIME incorrect.
À partir de PHP5.3, vous pouvez utiliser la fonction finfo_file pour obtenir le type MIME du fichier. La syntaxe de cette fonction est la suivante :
finfo finfo_file ( resource $finfo , string $filename [, int $options = FILEINFO_NONE [, resource $context ]] )
Parmi eux, $filename est le nom du fichier à vérifier, et $finfo est l'objet d'information sur le fichier renvoyé par la fonction finfo_open. Par exemple :
$finfo = finfo_open(FILEINFO_MIME_TYPE); $filename = 'test.jpg'; $mime_type = finfo_file($finfo, $filename); echo "The MIME type of $filename is: $mime_type";
Il convient de noter que la fonction finfo_file repose sur l'extension fileinfo de PHP, vous devez donc vous assurer que l'extension est activée avant utilisation.
La fonction pathinfo est une fonction fournie avec PHP et peut être utilisée pour obtenir les informations de chemin d'un fichier. En plus du chemin et du nom du fichier, il peut également renvoyer l'extension du fichier. La syntaxe de cette fonction est la suivante :
array pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )
Parmi eux, $path est le chemin du fichier qui doit être analysé. Le résultat renvoyé est un tableau contenant des informations de chemin, notamment le nom de répertoire, le nom de base, l'extension et le nom de fichier. Par exemple :
$filename = 'test.jpg'; $info = pathinfo($filename); echo "The extension of $filename is: " . $info['extension'];
Si nous voulons déterminer si un fichier est une image, nous pouvons utiliser la fonction getimagesize. La syntaxe de cette fonction est la suivante :
array|false getimagesize ( string $filename [, array &$imageinfo ] )
Parmi eux, $filename est le nom du fichier à vérifier et $imageinfo est un tableau facultatif utilisé pour stocker des données supplémentaires lors de l'obtention d'informations sur l'image. Si la fonction getimagesize renvoie false, cela signifie que le fichier n'est pas une image. Par exemple :
$filename = 'test.jpg'; $image_info = getimagesize($filename); if ($image_info !== false) { echo "$filename is an image file."; } else { echo "$filename is not an image file."; }
Il est à noter que la fonction getimagesize repose sur l'extension GD de PHP, vous devez donc vous assurer que l'extension est activée avant de l'utiliser.
Résumé
Ce qui précède présente plusieurs fonctions PHP couramment utilisées pour déterminer les types de fichiers. Elles ont chacune leurs propres avantages et inconvénients et peuvent être sélectionnées et utilisées en fonction de la situation réelle. Il convient de noter que lors de l'utilisation de ces fonctions, étant donné que le type de fichier est déterminé par l'en-tête du fichier, il peut y avoir des cas où certaines irrégularités du fichier conduisent à un jugement incorrect.
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!