L’avantage le plus con­si­dé­rable de l’extension PHP cURL réside dans sa capacité à gérer de multiples demandes de transfert de données tout en fa­vo­ri­sant une in­té­gra­tion parfaite des API. Découvrez avec nous tout ce qu’il y a à savoir sur la syntaxe et le fonc­tion­ne­ment de cette extension PHP.

Extension PHP cURL : de quoi s’agit-il ?

PHP cURL fait référence à la Curl URL Request Library ; il s’agit d’une extension du langage de pro­gram­ma­tion PHP qui agit comme une interface pour l’envoi de requêtes HTTP et la com­mu­ni­ca­tion par l’in­ter­mé­diaire de divers pro­to­coles réseau, comme HTTP, HTTPS ou FTP. L’extension cURL vous permet d’ajouter ou de modifier des en-têtes, des pa­ra­mètres ou encore des données, de manière à répondre aux besoins des API.

Comment installer l’extension PHP cURL ?

Pour utiliser l’extension cURL en PHP, il n’est nor­ma­le­ment pas né­ces­saire d’installer cURL, cette extension étant déjà intégrée. Il convient toutefois de vérifier que l’extension cURL est bien activée dans votre ins­tal­la­tion PHP. Vous souhaitez savoir si cURL fonc­tionne déjà ? Créez un fichier PHP et exécutez-y le code ci-dessous :

phpinfo();
php

Sur la page ainsi générée, cherchez la mention « cURL support » ou toute autre in­for­ma­tion similaire vous per­met­tant de voir si l’extension PHP cURL est activée. Si cURL n’est pas activé, il est alors né­ces­saire de modifier le fichier « php.ini ». Vous devez y localiser l’ex­pres­sion ;extension=php_curl.dll pour cURL sous Windows ou ;extension=curl pour cURL sous Linux. Ensuite, supprimez le point-virgule « ; » devant la ligne, de manière à activer l’extension cURL. En­re­gis­trez le fichier, puis re­dé­mar­rez le serveur Web pour que les mo­di­fi­ca­tions soient ap­pli­quées.

Consultez notre tutoriel PHP pour découvrir les prin­ci­pales con­nais­sances de base pour la pro­gram­ma­tion PHP, es­sen­tielles pour une bonne uti­li­sa­tion de l’extension cURL. Vous voulez en savoir plus sur les avantages et les in­con­vé­nients du langage de pro­gram­ma­tion PHP ? Jetez un œil à nos articles de com­pa­rai­son entre PHP et Python et entre PHP et Ja­vaS­cript, dis­po­nibles dans le Digital Guide de IONOS.

À quoi ressemble la syntaxe de l’extension PHP cURL ?

La syntaxe de l’extension PHP cURL est cons­ti­tuée de dif­fé­rentes fonctions et options qui per­met­tent la con­fi­gu­ra­tion d’une session cURL, l’envoi de requêtes et le travail avec les résultats obtenus.

Étape 1 : ini­tia­li­ser une session cURL

$curl = curl_init();
php

Étape 2 : définir des options

curl_setopt($curl, CURLOPT_URL, 'https://example.com/api'); // définit l’URL
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // définit le résultat de la requête comme valeur de retour
php

Étape 3 : exécuter la requête cURL

$response = curl_exec($curl);
php

Étape 4 : fermer la session cURL

curl_close($curl);
php
Conseil

Deploy Now est une solution IONOS qui accélère les cycles de dé­ve­lop­pe­ment et réduit autant que possible les temps d’arrêt. Grâce à Deploy Now, découvrez des stra­té­gies de dé­ploie­ment flexibles pour vos projets Web.

Quelles sont les fonctions cURL dis­po­nibles en PHP ?

Une multitude de fonctions PHP sont dis­po­nibles si vous souhaitez créer des requêtes HTTP ou té­lé­char­ger des fichiers. Vous pouvez aussi par exemple utiliser PHP pour récupérer des in­for­ma­tions dans une base de données MySQL, puis partager celles-ci au format JSON à l’aide d’une fonction cURL.

Vous trouverez ci-dessous quelques-unes des prin­ci­pales fonctions cURL dis­po­nibles en PHP :

  • curl_init : permet de lancer une nouvelle session cURL et de renvoyer un objet cURL­Handle ;
  • curl_setopt : permet de définir des options pour la session cURL, c’est-à-dire des pa­ra­mètres tels que l’URL, les en-têtes ou les méthodes d’au­then­ti­fi­ca­tion. Vous pouvez aussi utiliser la fonction PHP cURL pour indiquer les données POST qu’il convient de trans­mettre au serveur ;
  • curl_exec : permet d’exécuter la session cURL et de renvoyer la réponse sous la forme d’une chaîne de ca­rac­tères ;
  • curl_close : permet de fermer la session cURL et de libérer les res­sources cor­res­pon­dantes ;
  • curl_setopt_array : permet de définir une série d’options cURL avec un seul appel ;
  • curl_getinfo : permet de renvoyer des in­for­ma­tions sur la dernière session cURL, comme l’URL ou encore le code d’état HTTP ;
  • curl_error : permet de renvoyer le message d’erreur de la dernière requête cURL ;
  • curl_errno : permet de renvoyer le code d’erreur de la dernière requête cURL ;
  • curl_multi_init : permet d’ini­tia­li­ser un objet cURL­Handle multiple, de manière à effectuer plusieurs requêtes cURL en même temps ;
  • curl_multi_add_handle : permet d’ajouter une session cURL à un objet cURL­Handle multiple ;
  • curl_multi_exec : permet d’exécuter les requêtes cURL multiples ;
  • curl_multi_get­con­tent : permet de renvoyer le contenu de la réponse pour une session cURL donnée avec l’objet cURL­Handle multiple.
API de IONOS pour dé­ve­lop­peurs
Gérez vos produits d'hé­ber­ge­ment grâce à notre puissante API
  • En­re­gis­tre­ments DNS
  • Ad­mi­nis­tra­tion SSL
  • Do­cu­men­ta­tion API

Exemples d’ap­pli­ca­tion de l’extension PHP cURL

En créant vos propres classes PHP, vous avez la pos­si­bi­lité de rendre le code plus modulaire, de définir des méthodes réu­ti­li­sables et de sim­pli­fier l’im­plé­men­ta­tion de la fonction PHP cURL dans vos ap­pli­ca­tions.

Vous trouverez ci-dessous un exemple potentiel d’une classe PHP combinée à une fonction PHP cURL GET :

class MyCurlClient {
    private $curl;
    public function __construct() {
        $this->curl = curl_init();
        // D’autres configurations peuvent être effectuées ici
    }
    public function sendRequest($url) {
        curl_setopt($this->curl, CURLOPT_URL, $url);
        curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, true);
        
        $response = curl_exec($this->curl);
        return $response;
    }
    public function close() {
        curl_close($this->curl);
    }
}
// Utilisation de sa propre classe
$myCurl = new MyCurlClient();
$response = $myCurl->sendRequest('https://example.com/api');
echo $response;
$data = json_decode($response, true);
// Sortie des données avec les opérateurs PHP
echo "Post ID: " . $data['id'] . "<br>";
echo "Title: " . $data['title'] . "<br>";
echo "Body: " . $data['body'] . "<br>";
$myCurl->close();
php

Pour cet exemple, nous avons créé la classe « My­Curl­Client », qui traite une session PHP cURL di­rec­te­ment dans son cons­truc­teur. La méthode « sen­dRe­quest() » reçoit une URL, elle configure les options cURL et exécute la requête HTTP GET. Les chaînes de ca­rac­tères ainsi émises sont ensuite alignées avec les opé­ra­teurs PHP. Pour finir, nous utilisons la fonction « close() » pour mettre un terme à la session cURL en question.

IONOS Cloud Object Storage
Stockage de données sûr et éco­no­mique

Augmentez votre ren­ta­bi­lité grâce à un stockage évolutif, qui s'intègre à vos scénarios d'ap­pli­ca­tion. Vos données sont protégées par nos serveurs d'une grande fiabilité et un contrôle des accès per­son­na­lisé.

Aller au menu principal