Maison  >  Article  >  développement back-end  >  Comment supprimer le lien d'origine après avoir enregistré l'image distante sur le serveur en PHP ?

Comment supprimer le lien d'origine après avoir enregistré l'image distante sur le serveur en PHP ?

PHPz
PHPzoriginal
2023-07-12 20:21:071205parcourir

Comment supprimer le lien d'origine après avoir enregistré l'image distante sur le serveur en PHP ?

Lors du développement d'applications Web, nous devons souvent enregistrer des images de serveurs distants sur des serveurs locaux. L'enregistrement des images peut nous aider à augmenter la vitesse d'accès et à réduire la dépendance aux serveurs distants. Cependant, après avoir enregistré l'image, nous devons également supprimer le lien d'origine pour éviter de divulguer l'image et de perdre de l'espace. Dans cet article, je vais vous montrer comment supprimer le lien d'origine après avoir enregistré une image distante sur le serveur à l'aide de PHP.

Étape 1 : Vérifiez si le lien distant est valide

Avant d'enregistrer l'image distante, nous devons d'abord vérifier si le lien distant est valide. Vous pouvez utiliser la fonction get_headers() pour obtenir les informations d'en-tête du lien et vérifier si le code d'état HTTP est 200, indiquant que le lien est valide. Voici un exemple de code : get_headers()函数来获取链接的头信息,并检查HTTP状态码是否为200,表示链接有效。以下是一个示例代码:

$url = "http://example.com/image.jpg";
$headers = get_headers($url);

if ($headers[0] == 'HTTP/1.1 200 OK') {
    // 链接有效,可以进行保存操作
} else {
    // 链接无效,不进行保存操作
}

步骤二:保存远程图片到服务器

一旦确定链接有效,我们就可以使用file_put_contents()函数将远程图片保存到服务器。以下是一个示例代码:

$url = "http://example.com/image.jpg";
$filename = "saved_image.jpg";

if ($headers[0] == 'HTTP/1.1 200 OK') {
    $image = file_get_contents($url);
    file_put_contents($filename, $image);
}

在上面的示例中,我们使用了file_get_contents()函数来获取远程图片的内容,并使用file_put_contents()函数将内容保存为本地文件。

步骤三:删除原始链接

保存远程图片到服务器后,我们还需要删除原始链接,以确保图片不再直接可访问。可以使用unlink()函数来删除文件。以下是一个示例代码:

if ($headers[0] == 'HTTP/1.1 200 OK') {
    $image = file_get_contents($url);
    file_put_contents($filename, $image);

    // 删除原始链接
    unlink($url);
}

在上面的示例中,我们使用了unlink()函数来删除原始链接。

总结

在本文中,我们学习了如何使用PHP保存远程图片到服务器后删除原始链接。首先,我们使用get_headers()函数来检查远程链接是否有效。然后,使用file_get_contents()函数获取远程图片的内容,并使用file_put_contents()函数将其保存到本地服务器。最后,使用unlink()rrreee

Étape 2 : Enregistrez l'image distante sur le serveur🎜🎜Une fois la validité du lien confirmée, nous pouvons utiliser la fonction file_put_contents() pour enregistrer l'image distante. image au serveur. Voici un exemple de code : 🎜rrreee🎜Dans l'exemple ci-dessus, nous utilisons la fonction file_get_contents() pour obtenir le contenu de l'image distante, et utilisons la fonction file_put_contents() La fonction pour que le contenu soit enregistré sous forme de fichiers locaux. 🎜🎜Étape 3 : Supprimer le lien d'origine 🎜🎜Après avoir enregistré l'image distante sur le serveur, nous devons également supprimer le lien d'origine pour nous assurer que l'image n'est plus directement accessible. Les fichiers peuvent être supprimés à l'aide de la fonction unlink(). Voici un exemple de code : 🎜rrreee🎜Dans l'exemple ci-dessus, nous avons utilisé la fonction unlink() pour supprimer le lien d'origine. 🎜🎜Résumé🎜🎜Dans cet article, nous avons appris comment supprimer le lien d'origine après avoir enregistré une image distante sur le serveur à l'aide de PHP. Tout d'abord, nous utilisons la fonction get_headers() pour vérifier si le lien distant est valide. Ensuite, utilisez la fonction file_get_contents() pour obtenir le contenu de l'image distante, et utilisez la fonction file_put_contents() pour l'enregistrer sur le serveur local. Enfin, utilisez la fonction unlink() pour supprimer le lien d'origine. De cette façon, nous pouvons protéger la sécurité de l'image et réduire le gaspillage d'espace serveur tout en sauvegardant l'image. J'espère que cet article vous aidera ! 🎜

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