Open In App
Related Articles

How to check the existence of URL in PHP?

Improve Article
Improve
Save Article
Save
Like Article
Like

Existence of an URL can be checked by checking the status code in the response header. The status code 200 is Standard response for successful HTTP requests and status code 404 means URL doesn’t exist.

Used Functions:

  • get_headers() Function: It fetches all the headers sent by the server in response to the HTTP request.
  • strpos() Function: This function is used to find the first occurrence of a string into another string.

Example 1: This example checks for the status code 200 in response header. If the status code is 200, it indicates URL exist otherwise not.




<?php
  
// Initialize an URL to the variable
  
// Use get_headers() function
$headers = @get_headers($url);
  
// Use condition to check the existence of URL
if($headers && strpos( $headers[0], '200')) {
    $status = "URL Exist";
}
else {
    $status = "URL Doesn't Exist";
}
  
// Display result
echo($status);
  
?>


Output:

URL Exist

Example 2: This example checks for the status code 404 in response header. If the status code is 404, it indicates URL doesn’t exist otherwise URL exist.




<?php
  
// Initialize an URL to the variable
  
// Use get_headers() function
$headers = @get_headers($url);
  
// Use condition to check the existence of URL
if(!$headers || strpos( $headers[0], '404')) {
    $status = "URL Doesn't Exist";
}
else {
    $status = "URL Exist";
}
  
// Display result
echo($status);
  
?>


Output:

URL Doesn't Exist

Example 3: This example uses curl_init() method to check the existence of an URL.




<?php
  
// Initialize an URL to the variable
  
// Use curl_init() function to initialize a cURL session
$curl = curl_init($url);
  
// Use curl_setopt() to set an option for cURL transfer
curl_setopt($curl, CURLOPT_NOBODY, true);
  
// Use curl_exec() to perform cURL session
$result = curl_exec($curl);
  
if ($result !== false) {
      
    // Use curl_getinfo() to get information
    // regarding a specific transfer
    $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); 
    
    if ($statusCode == 404) {
        echo "URL Doesn't Exist";
    }
    else {
        echo "URL Exist";
    }
}
else {
    echo "URL Doesn't Exist";
}
   
?>


Output:

URL Doesn't Exist

Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!

Last Updated : 16 Jan, 2023
Like Article
Save Article
Previous
Next
Similar Reads
Complete Tutorials