Position actuelle: Accueil> Derniers articles> Une méthode complète pour télécharger et enregistrer des fichiers localement avec Curl_init, super pratique

Une méthode complète pour télécharger et enregistrer des fichiers localement avec Curl_init, super pratique

gitbox 2025-06-15

Dans PHP, Curl est un outil très puissant et couramment utilisé qui peut gérer diverses demandes HTTP. À l'aide de la fonction curl_init () , nous pouvons facilement télécharger le fichier et les enregistrer localement. Aujourd'hui, nous présenterons en détail comment utiliser Curl_init pour télécharger des fichiers et donner un exemple super pratique pour vous aider à mieux comprendre le processus.

Étape 1: Initialiser la session Curl

Tout d'abord, nous devons utiliser curl_init () pour initialiser une session Curl, qui renverra une poignée Curl. Cette poignée est utilisée pour les opérations de boucle ultérieures.

 $ch = curl_init();

Étape 2: Définissez les options de curl

Après avoir réussi à initialiser la session, nous devons utiliser curl_setopt () pour définir diverses options. Les options les plus critiques incluent:

  • Curlopt_url : définit l'adresse URL du fichier de téléchargement.

  • Curlopt_returntransfer : définissez la valeur de retour. Nous voulons enregistrer le contenu du fichier localement, nous devons donc le définir sur true .

  • Curlopt_follocation : permet à Curl de suivre automatiquement les redirections.

  • Curlopt_timeout : définit le temps d'exécution maximal pour éviter les plaies de demande.

En supposant que l'URL du fichier que nous souhaitons télécharger est https://gitbox.net/somefile.zip , voici un exemple de définition de ces options:

 $url = "https://gitbox.net/somefile.zip";
$destination = "somefile.zip";  // Path de sauvegarde local

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);  // Définissez le délai de demande sur 30 Deuxième

Étape 3: Exécutez la demande de curl et obtenez le contenu du fichier

Après avoir réglé l'option Curl, nous pouvons utiliser Curl_exec () pour exécuter la demande. Cette fonction renverra le contenu de réponse du serveur, c'est-à-dire le contenu du fichier. Nous enregistrons ce contenu dans un fichier local.

 $file_content = curl_exec($ch);

if(curl_errno($ch)) {
    echo 'Curl error: ' . curl_error($ch);
} else {
    // Enregistrez le contenu du fichier téléchargé localement
    file_put_contents($destination, $file_content);
}

Étape 4: Fermez la session Curl

Une fois l'opération terminée, nous devons utiliser curl_close () pour fermer la session Curl actuelle et libérer les ressources.

 curl_close($ch);

Exemple de code complet

En intégrant les étapes ci-dessus, nous obtenons le script PHP complet suivant pour télécharger des fichiers via Curl et les enregistrer localement.

 <?php
// initialisation cURL Session
$ch = curl_init();

// Configurer le fichier de téléchargement URL 和Path de sauvegarde local
$url = "https://gitbox.net/somefile.zip";
$destination = "somefile.zip";

// Configuration cURL Options
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);  // Demander un délai d&#39;expiration 30 Deuxième

// mettre en œuvre cURL Demander et obtenir du contenu de fichier
$file_content = curl_exec($ch);

// Gestion des erreurs
if(curl_errno($ch)) {
    echo 'Curl error: ' . curl_error($ch);
} else {
    // Enregistrez le fichier localement
    file_put_contents($destination, $file_content);
}

// fermeture cURL Session
curl_close($ch);

echo "Télécharger le fichier avec succès,Sauvé à " . $destination;
?>

Interprétation du code

  1. Initialisation et configuration : nous utilisons d'abord Curl_Init () pour initialiser une session Curl et définir l'URL de téléchargement et enregistrer le chemin. CURL_SETOPT () Définit plusieurs options importantes, y compris l'URL de fichier, comment gérer le contenu renvoyé et si les redirectes sont autorisés.

  2. Exécuter la demande : utilisez curl_exec () pour exécuter la demande et obtenir le contenu du fichier. Si le téléchargement réussit, le contenu du fichier sera enregistré dans la variable $ file_content .

  3. Gestion des erreurs : Si une erreur se produit dans la demande Curl, nous pouvons obtenir les informations d'erreur via Curl_errno () et sortir les détails d'erreur via curl_error () .

  4. Enregistrer le fichier : Enregistrez le contenu de fichier téléchargé sur le chemin d'accès local spécifié via File_put_Contents () .

  5. Session de fermeture : Enfin, nous utilisons Curl_close () pour fermer la session Curl.

résumé

Ce qui précède est la méthode complète pour utiliser curl_init () pour télécharger le fichier et l'enregistrer localement. Qu'il s'agisse de téléchargements de fichiers simples ou de gérer les demandes HTTP complexes, Curl est un outil très pratique. En ajustant les options Curl, vous pouvez atteindre des exigences plus complexes telles que la moquerie de connexions, l'envoi de demandes de poste, le traitement des cookies, etc.

J'espère que cet exemple vous aide, et je vous souhaite de mieux en mieux dans la programmation PHP!