php8.5
Home/ Manual/ reference / curl/ Basic curl examples

Basic curl examples

Once you've compiled PHP with cURL support, you can begin using the cURL functions. The basic idea behind the cURL functions is that you initialize a cURL session using the curl_init, then you can set all your options for the transfer via the curl_setopt, then you can execute the session with the curl_exec.

Examples

Basic curl examples

Once you've compiled PHP with cURL support, you can begin using the cURL functions. The basic idea behind the cURL functions is that you initialize a cURL session using the curl_init(), then you can set all your options for the transfer via the curl_setopt(), then you can execute the session with the curl_exec().

Here is a simple example that uses the cURL functions to send a POST request:

Using PHP's cURL module to send a POST request

php
<?php
$data = ['foo' => 'bar', 'baz' => 48];
$url = "http://www.example.com/handler.php";

$ch = curl_init($url);

// tell CURL to return the response instead of sending it to stdout
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// set the POST data, corresponding method and headers
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));

// send the request and get the response
$response = curl_exec($ch);

if(curl_error($ch)) {
    // handle the error, or just
    throw new RuntimeException(curl_error($ch));
}

Another example that uses the cURL functions to send a raw JSON POST request:

Using PHP's cURL module to send a JSON POST request

php
<?php
$post_data = ['foo' => 'bar', 'baz' => 48];
$url = "http://www.example.com/api/endpoint";

$ch = curl_init($url);

// tell CURL to return the response instead of sending it to stdout
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// set the POST data and corresponding method
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data));

// set the required header
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);

// send the request and get the response
$response = curl_exec($ch);

if(curl_error($ch)) {
    // handle the error, or just
    throw new RuntimeException(curl_error($ch));
}

Here is another example that uses the cURL functions to fetch the example.com homepage into a file:

Using PHP's cURL module to fetch the example.com homepage

php
<?php

$ch = curl_init("http://www.example.com/");
$fp = fopen("example_homepage.txt", "w");

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
if(curl_error($ch)) {
    fwrite($fp, curl_error($ch));
}
fclose($fp);

Source: reference/curl/examples.xml · from the official PHP manual (php/doc-en)