470,848 Members | 1,708 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 470,848 developers. It's quick & easy.

Check if URL exists

(I know that's a horrible title; I couldn't think of anything better.)

Is there a simple way to check if a URL exists in PHP without using
Curl?

Oct 24 '05 #1
5 4929
th******@gmail.com wrote:
Is there a simple way to check if a URL exists in PHP without using
Curl?


Try http://php.net/fsockopen or http://php.net/fopen

--
E. Dronkert
Oct 24 '05 #2
Thanks! I wasn't sure if fsockopen would be good enough or not, but I
think it will be. I just need to catch the error.

That being said, is there a way to retrieve headers from another page,
like getheaders('http://example.com/') ?

Oct 24 '05 #3
th******@gmail.com wrote:
That being said, is there a way to retrieve headers from another page,
like getheaders('http://example.com/') ?


Open a socket, stop reading after the header, close socket.

--
E. Dronkert
Oct 24 '05 #4
Is this (http://simon.incutio.com/archive/200...conditionalGet)
what you're talking about?

Oct 24 '05 #5
VS
th******@gmail.com wrote:
Thanks! I wasn't sure if fsockopen would be good enough or not, but I
think it will be. I just need to catch the error.

That being said, is there a way to retrieve headers from another page,
like getheaders('http://example.com/') ?


I'm quite new to PHP, but I found and adpated this for getting the Time
Stamp of a URL, perhaps you can change it for what you need:

function filemtime_remote($uri)
{
$uri = parse_url($uri);
$uri['port'] = isset($uri['port']) ? $uri['port'] : 80;

// TimeOut
$tout = 10;
$handle = @fsockopen($uri['host'], $uri['port'], $errno, $errstr,
$tout);
if(!$handle)
return 0;

fputs($handle,"HEAD $uri[path] HTTP/1.1\r\nHost: $uri[host]\r\n\r\n");
$result = 0;
while(!feof($handle))
{
$line = fgets($handle,1024);
if(!trim($line))
break;

$col = strpos($line,':');
if($col !== false)
{
$header = trim(substr($line,0,$col));
$value = trim(substr($line,$col+1));
if(strtolower($header) == 'last-modified')
{
$result = strtotime($value);
break;
}
}
}
fclose($handle);
return $result;
}

--
VS
Oct 25 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

3 posts views Thread by DottingTheNet | last post: by
10 posts views Thread by Ricardo Luceac | last post: by
5 posts views Thread by =?Utf-8?B?THVpZ2k=?= | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.