We can check the existence of URL in two ways using PHP. First one is the CURL and second one is using the get_headers function of PHP.

Basically we are checking HTTP header of the URL and based on that we can determine existence of the url. 200 Code stands for OK header and 404 stands for Not Found. You can check all the available HTTP Header Status Code.
Let’s get into both of the methods.

1) Using get_headers Function

Using this get_headers function we can get the HTTP header information of the given URL.

<?php
 
$url = "http://www.domain.com/demo.jpg";
$headers = @get_headers($url);
if(strpos($headers[0],'404') === false)
{
  echo "URL Exists";
}
else
{
  echo "URL Not Exists";
}
?>

Note: If you set second parameter of the get_headers() to true then you will get result in associative array. Just try for it.

2) using cURL

<?php
$url = "http://www.domain.com/demo.jpg";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_NOBODY, true);
$result = curl_exec($curl);
if ($result !== false) 
{
  $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);  
  if ($statusCode == 404) 
  {
  	echo "URL Not Exists"
  }
  else
  {
     echo "URL Exists";
  }	
}
else
{
  echo "URL not Exists";
}
?>

Note: We have used CURLOPT_NOBODY to just check for the connection and do not fetch whole body.

Here is the small trick to check the existence of the url. Hope you like this. Share your comments here on this.