Comment utiliser cURL à lire un fichier dans une variable PHP

Uniform Resource Locator client (cURL) est un outil de ligne de commande et la bibliothèque (libcurl) pour transférer des fichiers sur un réseau. cURL supporte les protocoles Internet les plus populaires, y compris le Protocole de transfert hypertexte (HTTP et HTTPS), le protocole de transfert de fichiers (FTP), gopher, telnet et Lightweight Directory Access Protocol (LDAP). Vous pouvez utiliser libcurl dans vos scripts PHP pour récupérer des pages Web, des fils d'actualité et d'autres fichiers sur Internet. Si vous ne devez enregistrer une copie locale du fichier a été récupérée, chercher directement dans la variable. Cette méthode est plus rapide, plus propre et plus efficace que la création d'un fichier local et de l'ouvrir.

Instructions

  1. 1

    Initialiser une session cURL en appelant le "curl_init" fonction. Cette fonction retourne une cURL vous pouvez utiliser d'autres fonctions cURL pour configurer et récupérer le fichier. Vous pouvez fournir l'URL (adresse de fichier) à "curl_init," par exemple:

    $ Curlhandle = curl_init ('http://whitehouse.gov/feed/blog')
    GO

    Alternativement, vous pouvez initialiser la session cURL sans passer des paramètres à "curl_init," et définir l'URL en utilisant le "curl_setopt" fonction. Cette méthode est utile si vous êtes le recyclage cURL pour récupérer plusieurs fichiers.




    $ Curlhandle = curl_init ()
    GO
    curl_setopt ($ curlhandle, CURLOPT_URL, 'http://whitehouse.gov/feed/blog');

  2. 2

    Réglez la session cURL pour renvoyer le contenu chargé lorsque "curl_exec" de sorte que vous pouvez affecter le contenu du fichier a été récupérée à une variable. Met le "CURLOPT_RETURNTRANSFER" possibilité de "vrai" en utilisant le "culr_setopt" fonction:

    curl_setopt ($ curlhandle, CURLOPT_RETURNTRANSFER, true)
    GO

    Si "CURLOPT_RETURNTRANSFER" est réglé sur "faux," la "curl_exec" Renvoie un booléen "vrai" ou "faux" pour indiquer si oui ou non le fichier a été récupérée avec succès, et imprimer le fichier. Si vous voulez traiter le contenu du fichier (par exemple, en tirant les titres à partir d'un flux de nouvelles), vous devez saisir le contenu du fichier à une variable.

  3. 3

    Appelez le "curl_exec" fonctionner pour aller chercher le fichier. Passe "curl_exec" la variable de cURL. Attribuer les résultats de la récupération à une variable. Si la récupération a été un succès, la variable contient le contenu du fichier. Si le fetch a échoué, la variable contient la valeur "fausse."




    $ contents = curl_exec ($ curlhandle);

  4. 4

    Fermez la session dès que vous avez fini avec elle. Si vous utilisez la même session pour récupérer et traiter plusieurs fichiers, le laisser ouvert jusqu'à ce que vous avez terminé. Si vous avez seulement besoin d'aller chercher un fichier unique, fermer la session dès que vous obtenez le fichier.

    curl_close ($ curlhandle);

  5. 5

    Ecrire du code pour utiliser le contenu du fichier. Peu importe la façon dont vous utilisez le contenu du fichier, si vous imprimez, l'épargne, le formatage, l'analyse ou l'envoyer, vérifier que le téléchargement a réussi en premier. Utilisez un si-bloc pour vérifier le contenu variable. Si la variable contient "faux," le transfert a échoué.
    &# 9-
    if ($ contenu == false) {
    écho "Fetch échoué"
    GO
    }
    else {
    echo $ contents
    GO
    }

Conseils & Avertissements

  • Définissez l'option de temporisation cURL de garder cURL d'attendre trop longtemps pour le fichier. La valeur numérique (le troisième paramètre à "curl_setopt") Fixé pour la "CURLOPT_TIMEOUT" options est le nombre de secondes d'attente. Si cette valeur "0" désactive le délai d'attente, provoquant cURL à attendre indéfiniment pour le fichier:
  • curl_setopt ($ curlhandle, CURLOPT_TIMEOUT, 3);
» » » » Comment utiliser cURL à lire un fichier dans une variable PHP