Maison  >  Article  >  développement back-end  >  Deux façons de télécharger rapidement des fichiers à partir d'une URL en PHP

Deux façons de télécharger rapidement des fichiers à partir d'une URL en PHP

藏色散人
藏色散人original
2021-08-25 10:08:4110048parcourir

Dans l'article précédent "Un exemple montre comment appeler une fonction PHP lorsqu'un bouton est cliqué", je vous ai présenté comment appeler une fonction PHP lorsqu'un bouton est cliqué. Les amis dans le besoin peuvent en apprendre davantage ~

Le. thème de cet article Comment télécharger des fichiers depuis une URL via PHP ?

Il existe en fait de nombreuses façons de télécharger des fichiers à partir d'URL, mais cet article se concentrera sur deux méthodes :

La première méthode :

Utilisez la fonction file_get_contents() : La fonction file_get_contents() est utilisée pour lire des fichiers dans cordes. Cette fonction utilise une technologie de mappage de mémoire prise en charge par le serveur, ce qui améliore les performances et en fait le moyen privilégié pour lire le contenu des fichiers.

Syntaxe :

file_get_contents($path, $include_path, $context, $start, $max_length)

Créez un exemple de fichier test.php avec le contenu suivant :

<?php
// 将文件URL初始化为变量
$url = &#39;https://img.php.cn/upload/article/000/000/020/6125a391e4e76689.png&#39;;

// 使用basename()函数获取文件名
$file_name = basename($url);

// 使用file_get_contents()函数从url获取文件,使用file_put_contents()函数保存文件
if(file_put_contents( $file_name,file_get_contents($url))) {
    echo "文件下载成功";
}
else {
    echo "文件下载失败";
}

Le résultat de l'exécution indique :

文件下载成功

Nous pouvons maintenant vérifier si "6125a391e4e76689.png" a été enregistré avec succès dans le même répertoire du fichier test.php. "Fichier :

Deux façons de télécharger rapidement des fichiers à partir dune URL en PHP

Fichier enregistré avec succès à partir de l'URL.

Deuxième méthode : Utilisez PHP Curl

pour créer un exemple de fichier test.php. L'exemple de code est le suivant :

<?php

$url = &#39;https://img.php.cn/upload/article/000/000/020/6125a391e4e76689.png&#39;;

// 初始化cURL会话
$ch = curl_init($url);

// 初始化保存文件的目录名
$dir = &#39;./&#39;;

// 函数返回文件名
$file_name = basename($url);

// 将文件保存到给定位置
$save_file_loc = $dir . $file_name;

// 打开文件
$fp = fopen($save_file_loc, &#39;wb&#39;);

// 为cURL传输设置一个选项
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

// 执行cURL会话
curl_exec($ch);

// 关闭cURL会话并释放所有资源
curl_close($ch);

// 关闭文件
fclose($fp);

Après avoir exécuté le fichier test.php, vous pouvez afficher le fichier téléchargé et enregistré à l'emplacement spécifié. emplacement.

Cette méthode implémente les étapes spécifiques pour télécharger des fichiers :

  • Initialiser l'URL du fichier en tant que variable

  • Créer une session cURL

  • Déclarer une variable et stocker le nom du répertoire dans lequel le fichier téléchargé sera être sauvé.

  • Si un chemin de fichier est fourni en paramètre, utilisez la fonction basename() pour renvoyer le nom de base du fichier.

  • Enregistrez le fichier à l'emplacement indiqué.

  • Ouvrez l'emplacement du fichier enregistré en écrivant une chaîne

  • Définissez les options de transfert cURL

  • Exécutez la session cURL, fermez la session cURL et libérez toutes les ressources

  • Fermer le fichier

Enfin pour tout le monde Recommander le "Tutoriel vidéo PHP" le plus récent et le plus complet ~ Venez apprendre maintenant !

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