PHP cURL curl_init() Function



The PHP Client URL curl_init() function is used to initialize a cURL session. It basically initializes a very new session. And it returns a cURL handle for use with the other functions.

Syntax

Below is the syntax of the PHP cURL curl_init() function −

CurlHandle curl_init ([string $url])

Parameters

The curl_init() function accepts $url parameter which is a string containing the URL to which the cURL session will be set. If we provide this parameter so it will be used to set the URL option for the session.

Return Value

The curl_init() function returns a cURL handle ($ch) on success and FALSE on failure.

PHP Version

It was first introduced in core PHP 4.0.2, the curl_init() function continues to function easily in PHP 5, PHP 7, and PHP 8.

Example 1

First we will see the basic example of the PHP cURL curl_init() function to initialize the session.

<?php
   // Start a cURL session
   $ch = curl_init();

   // Set the URL, it is optional in curl_init
   curl_setopt($ch, CURLOPT_URL, "http://www.abc.com");

   echo "The session has been started.";

   // Close the cURL session
   curl_close($ch);  
?>

Output

Here is the outcome of the following code −

The session has been started.

Example 2

In the below PHP code we will try to use the curl_init() function while handling unwanted errors.

<?php
   // Start a cURL session
   $ch = curl_init("http://www.abc123.com");

   // Set options
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

   // Execute the cURL session and get the response
   $response = curl_exec($ch);

   // Check for errors
   if($response === false) {
      echo "cURL Error: " . curl_error($ch);
   } else {
      echo "Response: " . $response;
   }

   // Close the cURL session
   curl_close($ch);
?> 

Output

This will generate the below output −

curl_init Output

Example 3

With the help of the below code we will try to download a file by initializing the session using the curl_init() function.

<?php
   // Initialize a cURL session
   $ch = curl_init("http://www.tutorialspoint.com/file.zip"); // Replace the URL as per your need

   // Open a file for writing
   $file = fopen("file.zip", "w");

   // Set options
   curl_setopt($ch, CURLOPT_FILE, $file);
   curl_setopt($ch, CURLOPT_HEADER, 0);

   // Execute the cURL session
   curl_exec($ch);

   // Check for errors
   if(curl_errno($ch)) {
      echo "cURL Error: " . curl_error($ch);
   } else {
      echo "File downloaded successfully.";
   }

   // Close the file
   fclose($file);

   // Close the cURL session
   curl_close($ch);
?> 

Output

This will create the below output −

File downloaded successfully.

Example 4

In the following example, we are using the curl_init() function for checking the HTTP status code of the given URL with the help of curl_getinfo().

<?php
   // Start a cURL session
   $ch = curl_init("http://www.tutorialspoint.com");

   // Set options to return the transfer as a string
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
   // Set options to include the header in the output
   curl_setopt($ch, CURLOPT_HEADER, true);
   // Set options to not output the body
   curl_setopt($ch, CURLOPT_NOBODY, true);

   // Execute the cURL session
   curl_exec($ch);

   // Get the HTTP status code
   $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

   // Display the HTTP status code
   echo "HTTP Status Code: " . $http_code;

   // Close the cURL session
   curl_close($ch);
?> 

Output

Following is the output of the above code −

HTTP Status Code: 302
php_function_reference.htm
Advertisements