Check URL Existence with PHP

In this article we will see how to check the existence of the URL using PHP. Here existence means we are checking content which we are requesting is available on server or not.

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

PHP URL Existence

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.
Let’s get into both of the methods.

get_headers Function

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

$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"; }
$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.

cURL

$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"; }
$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 not to fetch whole body.

So we are done with the checking the existence of the URL with PHP, share your views/comments/suggestions.

Share This Article

Tags:
  • kkatusic

    Nice tips