Maison développement back-end tutoriel php Lors de l'enregistrement d'images distantes à l'aide de PHP, comment vérifier si l'image est légale avant de l'enregistrer ?

Lors de l'enregistrement d'images distantes à l'aide de PHP, comment vérifier si l'image est légale avant de l'enregistrer ?

Jul 12, 2023 pm 08:16 PM
远程图片 php保存 合法检查

Comment vérifier si l'image est légale avant de l'enregistrer lorsque vous utilisez PHP pour enregistrer une image distante ?

Pendant le développement, nous rencontrons souvent le besoin de sauvegarder des images distantes, telles que l'exploration d'images sur des pages Web, le téléchargement d'avatars par les utilisateurs, etc. Cependant, afin de garantir la sécurité du serveur et de réduire le gaspillage inutile de ressources, nous devons effectuer un contrôle de légalité avant de sauvegarder des images distantes. Cet article explique comment utiliser PHP pour vérifier la légalité des images avant de les enregistrer et fournit des exemples de code correspondants.

1. Vérifiez la légalité de l'image
Avant d'enregistrer l'image distante, nous devons nous assurer que l'image est légale et éviter d'enregistrer des scripts malveillants ou des formats de fichiers non pris en charge. Voici quelques méthodes de vérification courantes :

  1. Vérification des extensions de fichiers
    Les extensions de fichiers sont un moyen simple de déterminer le type de fichier. Habituellement, nous pouvons utiliser la fonction pathinfo de PHP pour obtenir l'extension du fichier et la comparer avec les formats d'image pris en charge. Vous pouvez utiliser la fonction in_array pour déterminer si le suffixe du fichier se situe dans la plage autorisée, comme indiqué ci-dessous :
$allowedExtensions = array('jpg', 'jpeg', 'png', 'gif'); // 允许的图片格式
$extension = pathinfo($imageUrl, PATHINFO_EXTENSION); // 获取文件后缀名

if (!in_array(strtolower($extension), $allowedExtensions)) {
    die('Invalid file format');
}
Copier après la connexion
  1. Vérifiez le format du fichier
    En plus de vérifier le suffixe du fichier, nous pouvons également déterminer le format du fichier via les informations d’en-tête du fichier. Avant d'enregistrer l'image distante, vous pouvez utiliser la fonction get_headers de PHP pour envoyer une requête HEAD afin d'obtenir les informations d'en-tête de réponse. Ensuite, nous pouvons définir le champ d'en-tête Content-Type correspondant en fonction de différents formats de fichiers, puis le comparer avec les formats d'image pris en charge. Voici un exemple de code :
$responseHeaders = get_headers($imageUrl);
$contentType = '';

foreach ($responseHeaders as $header) {
    if (strpos($header, 'Content-Type:') === 0) {
        $contentType = substr($header, 14);
        break;
    }
}

$allowedContentTypes = array('image/jpeg', 'image/png', 'image/gif');
if (!in_array($contentType, $allowedContentTypes)) {
    die('Invalid file format');
}
Copier après la connexion
  1. Vérifiez la taille du fichier
    Pour éviter d'enregistrer des images trop volumineuses, nous pouvons limiter la taille du fichier téléchargé. Vous pouvez utiliser la fonction filesize de PHP pour obtenir la taille du fichier, puis la comparer à la valeur maximale définie. Voici un exemple de code :
$maxFileSize = 2 * 1024 * 1024; // 最大文件大小为2MB
$fileSize = filesize($tempFilePath);

if ($fileSize > $maxFileSize) {
    die('File size too large');
}
Copier après la connexion

2. Enregistrez l'image distante
Après avoir confirmé la légalité de l'image distante, nous pouvons utiliser la fonction file_put_contents de PHP pour enregistrer l'image sur le serveur. Voici un exemple de code :

// 获取远程图片内容
$imageData = file_get_contents($imageUrl);

// 生成保存路径和文件名(可根据实际需求修改)
$savePath = 'path/to/save/directory/';
$saveFileName = uniqid() . '.' . $extension;
$saveFilePath = $savePath . $saveFileName;

// 保存图片
if (file_put_contents($saveFilePath, $imageData)) {
    echo 'Save successfully';
} else {
    echo 'Save failed';
}
Copier après la connexion

Ce qui précède explique comment vérifier si l'image est légale avant de l'enregistrer lorsque vous utilisez PHP pour enregistrer une image distante. En vérifiant l'extension du fichier, le format du fichier, la taille du fichier, etc., vous pouvez augmenter la sécurité du serveur et vous assurer que les images enregistrées sont légales. J'espère que cet article pourra vous aider.

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment ajouter un filigrane et enregistrer des images distantes après les avoir enregistrées localement en PHP ? Comment ajouter un filigrane et enregistrer des images distantes après les avoir enregistrées localement en PHP ? Jul 11, 2023 pm 11:48 PM

Comment ajouter un filigrane et enregistrer des images distantes après les avoir enregistrées localement en PHP ? Dans le développement PHP, nous rencontrons souvent le besoin de sauvegarder localement des images distantes. Parfois, nous pouvons également avoir besoin d'ajouter un filigrane à l'image enregistrée pour protéger les droits d'auteur ou ajouter des informations supplémentaires. Cet article explique comment utiliser PHP pour enregistrer des images distantes en local et ajouter des filigranes aux images enregistrées. 1. Enregistrez les images distantes en local. Tout d'abord, nous devons utiliser la fonction d'opération de fichier de PHP pour enregistrer les images distantes en local. Voici un exemple de code simple : &

Lors de l'enregistrement d'images distantes à l'aide de PHP, comment vérifier si l'image est légale avant de l'enregistrer ? Lors de l'enregistrement d'images distantes à l'aide de PHP, comment vérifier si l'image est légale avant de l'enregistrer ? Jul 12, 2023 pm 08:16 PM

Lors de l'enregistrement d'images distantes à l'aide de PHP, comment vérifier si l'image est légale avant de l'enregistrer ? Au cours du développement, nous sommes souvent confrontés au besoin de sauvegarder des images distantes, telles que l'exploration d'images sur des pages Web, le téléchargement d'avatars par les utilisateurs, etc. Cependant, afin de garantir la sécurité du serveur et de réduire le gaspillage inutile de ressources, nous devons effectuer un contrôle de légalité avant de sauvegarder des images distantes. Cet article explique comment utiliser PHP pour vérifier la légalité des images avant de les enregistrer et fournit des exemples de code correspondants. 1. Vérifiez la légalité de l'image Avant de sauvegarder l'image distante, nous devons nous assurer que l'image.

Comment enregistrer une image distante en PHP et générer un nom de fichier unique ? Comment enregistrer une image distante en PHP et générer un nom de fichier unique ? Jul 12, 2023 am 09:39 AM

Comment enregistrer une image distante en PHP et générer un nom de fichier unique ? Dans le développement Web, nous rencontrons souvent le besoin de sauvegarder des images distantes sur le serveur local. Afin d'éviter les conflits de noms de fichiers, nous enregistrons généralement ces images en générant des noms de fichiers uniques. Cet article explique comment utiliser PHP pour enregistrer des images distantes et générer des noms de fichiers uniques. Tout d’abord, nous devons utiliser la fonction file_get_contents() en PHP pour obtenir les données binaires de l’image distante. Le code est le suivant : $url=&

Comment enregistrer des images distantes en PHP ? Comment enregistrer des images distantes en PHP ? Jul 13, 2023 pm 03:45 PM

Comment enregistrer des images distantes en PHP ? Lors du développement de sites Web, nous rencontrons souvent des situations dans lesquelles nous devons sauvegarder des images distantes. Par exemple, nous devons récupérer une image d’un autre site Web et la sauvegarder sur notre propre serveur afin qu’elle puisse être affichée sur notre propre site Web. PHP fournit un moyen simple et efficace d'obtenir cette fonctionnalité. Cet article explique comment utiliser PHP pour enregistrer des images distantes et joint des exemples de code. Tout d’abord, nous devons obtenir l’URL de l’image distante. Cela peut être fait en utilisant des fonctions telles que cURL ou file_get_contents

Comment enregistrer les informations sur l'image dans la base de données lors de l'enregistrement d'images distantes à l'aide de PHP ? Comment enregistrer les informations sur l'image dans la base de données lors de l'enregistrement d'images distantes à l'aide de PHP ? Jul 13, 2023 pm 02:04 PM

Comment enregistrer les informations sur l'image dans la base de données lors de l'enregistrement d'images distantes à l'aide de PHP ? Pendant le processus de développement, il est souvent nécessaire de télécharger des images depuis un serveur distant et de sauvegarder les informations pertinentes dans la base de données. Cet article expliquera comment utiliser PHP pour terminer ce processus. Tout d’abord, nous devons récupérer le contenu de l’image distante et l’enregistrer en tant que fichier local. PHP fournit une fonction file_get_contents() qui peut être utilisée pour lire le contenu des fichiers distants. Le code de démonstration est le suivant : $remoteImageUrl='htt

Meilleure pratique pour enregistrer des images distantes sur le serveur en PHP Meilleure pratique pour enregistrer des images distantes sur le serveur en PHP Jul 11, 2023 pm 11:11 PM

Bonnes pratiques pour enregistrer des images distantes sur le serveur en PHP En développement Web, nous rencontrons souvent le besoin de sauvegarder des images distantes sur le serveur. Par exemple, vous devrez peut-être récupérer une image sur un autre site Web, ou l'utilisateur peut avoir téléchargé un lien d'image distant. Cet article explique comment utiliser PHP pour mettre en œuvre cette bonne pratique consistant à enregistrer des images distantes sur le serveur. Tout d’abord, nous avons besoin d’une URL pour l’image distante. Supposons que l'URL de l'image que nous souhaitons enregistrer soit : http://example.com/image.jpg. Suivant

Comment sauvegarder des images distantes et enregistrer des journaux de sauvegarde en PHP ? Comment sauvegarder des images distantes et enregistrer des journaux de sauvegarde en PHP ? Jul 14, 2023 pm 05:46 PM

Comment sauvegarder des images distantes et enregistrer des journaux de sauvegarde en PHP ? Dans le développement Web, nous rencontrons souvent le besoin de sauvegarder des images distantes, par exemple lorsque les utilisateurs téléchargent des avatars ou obtiennent des images à partir d'autres sites Web. Cet article explique comment utiliser PHP pour enregistrer des images distantes et enregistrer et sauvegarder des journaux, avec des exemples de code. Obtention d'informations sur l'image distante Tout d'abord, nous devons obtenir l'URL, le type de fichier, la taille du fichier et d'autres informations de l'image distante, ce qui peut être obtenu en utilisant la fonction curl de PHP. Voici un exemple de fonction qui peut être utilisée pour obtenir des informations sur une image distante : fun

Quelles sont les méthodes pour enregistrer des images distantes en utilisant PHP ? Quelles sont les méthodes pour enregistrer des images distantes en utilisant PHP ? Jul 13, 2023 am 09:04 AM

Quelles sont les méthodes pour enregistrer des images distantes en utilisant PHP ? Dans le développement Web, l'obtention et la sauvegarde d'images distantes sont une opération courante. En tant que langage de programmation populaire, PHP possède également des fonctions puissantes et une flexibilité dans le traitement des images. Cet article présentera plusieurs méthodes courantes de sauvegarde d'images distantes à l'aide de PHP et joindra des exemples de code. Méthode 1 : utilisez les fonctions file_get_contents et file_put_contents $url="https://examp

See all articles