Comment vérifier le format de l'image lors de l'enregistrement d'images distantes à l'aide de PHP ?

WBOY
Libérer: 2023-07-12 13:34:02
original
1664 Les gens l'ont consulté

Comment vérifier le format de l'image lors de l'enregistrement d'images distantes à l'aide de PHP ?

Pendant le développement, nous devons parfois enregistrer localement des images sur le serveur distant, par exemple en enregistrant des images téléchargées par les utilisateurs ou en récupérant des images à partir de pages Web. Afin de garantir que le format de l'image enregistrée est correct, nous devons vérifier le format de l'image distante. Cet article présentera comment implémenter la vérification du format d'image à distance en PHP et fournira des exemples de code correspondants.

1. Obtenez le format de l'image distante

Pour vérifier le format de l'image distante, vous devez d'abord obtenir l'extension de fichier de l'image distante. Vous pouvez utiliser la fonction getimagesize() de PHP pour obtenir des informations sur l'image distante, notamment la largeur, la hauteur, le type MIME de l'image, etc. Après avoir obtenu le type MIME, nous pouvons en extraire l’extension du fichier. getimagesize()函数来获取远程图片的信息,其中包括图片的宽度、高度、MIME类型等。在获取到MIME类型之后,我们可以从中提取出文件的扩展名。

以下是一个示例代码,用于获取远程图片的文件扩展名:

function getRemoteImageExtension($imageUrl){
    $imageInfo = getimagesize($imageUrl);
    $mime = $imageInfo['mime'];
  
    $extensions = [
        'image/jpeg' => 'jpg',
        'image/png' => 'png',
        'image/gif' => 'gif',
        // 其它图片格式
    ];
  
    $extension = $extensions[$mime] ?? '';
  
    return $extension;
}

// 调用示例
$imageUrl = 'https://example.com/image.jpg';
$extension = getRemoteImageExtension($imageUrl);
echo $extension;  // 输出:jpg
Copier après la connexion

在示例代码中,使用了getimagesize()函数来获取远程图片的信息,然后通过数组的方式定义了不同类型图片的扩展名,最后从中获取到所需的扩展名。

二、校验远程图片的格式

在获取到远程图片的文件扩展名后,就可以进行校验了。可以将获取到的扩展名与允许的图片格式进行对比,判断远程图片是否符合要求。

以下是一个示例代码,用于校验远程图片的格式:

function validateRemoteImage($imageUrl){
    $extension = getRemoteImageExtension($imageUrl);
  
    $allowedExtensions = ['jpg', 'png', 'gif'];
  
    if(in_array($extension, $allowedExtensions)){
        return true;
    } else {
        return false;
    }
}

// 调用示例
$imageUrl = 'https://example.com/image.jpg';
if(validateRemoteImage($imageUrl)){
    echo '远程图片格式正确';
} else {
    echo '远程图片格式不正确';
}
Copier après la connexion

在示例代码中,使用了in_array()

Ce qui suit est un exemple de code pour obtenir l'extension de fichier d'une image distante :

rrreee

Dans l'exemple de code, la fonction getimagesize() est utilisée pour obtenir les informations de l'image distante, et puis à travers le tableau La méthode définit les extensions de différents types d'images, et en obtient finalement les extensions requises. 🎜🎜2. Vérifiez le format de l'image distante🎜🎜Après avoir obtenu l'extension de fichier de l'image distante, vous pouvez la vérifier. Vous pouvez comparer l'extension obtenue avec les formats d'image autorisés pour déterminer si l'image distante répond aux exigences. 🎜🎜Ce qui suit est un exemple de code pour vérifier le format des images distantes : 🎜rrreee🎜Dans l'exemple de code, la fonction in_array() est utilisée pour déterminer si l'extension obtenue fait partie des extensions autorisées. dans le tableau de noms. Si c'est le cas, renvoyez true, indiquant que le format de l'image distante est correct ; sinon, renvoyez false, indiquant que le format de l'image distante est incorrect. 🎜🎜Avec l'exemple de code ci-dessus, nous pouvons implémenter la vérification du format d'image à distance en PHP. Lors de l'enregistrement d'une image distante, obtenez d'abord l'extension de fichier de l'image distante, puis déterminez si elle répond aux exigences. Cela peut largement éviter d’enregistrer des images distantes dans un mauvais format. 🎜

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