Isteği, bir örnek yapmaya çalıştığınız şey için daha yararlı olabilir (2xx dışında herhangi bir HTTP kodu), başarısız olursa CURL kullanmaya gerek yok, file_get_contents($url);
return false:
function urlExists($url)
{
return (bool) @file_get_contents($url);
}
URL aksi takdirde yanlış yararlı içerik, dönerse true dönecektir.
EDIT: İşte daha hızlı bir şekilde (sadece başlıkları istekleri) ve the first byte yerine tam sayfa olduğunu:
function urlExists($url)
{
return (bool) @file_get_contents($url, false, null, 0, 1);
}
urlExists('http://stackoverflow.com/iDontExist'); // false
Ancak, birlikte your other question bunun gibi bir şey kullanmak akıllıca olabilir:
function url($url)
{
return @file_get_contents($url);
}
$content = url('http://stackoverflow.com/');
// request has failed (404, 5xx, etc...)
if ($content === false)
{
// delete or store as "failed" in the DB
}
// request was successful
else
{
$hash = md5($content); // md5() should be enough but you can also use sha1()
// store $hash in the DB to keep track of changes
}
Yoksa PHP 5.1 + kullanarak eğer sadece yapmak zorunda:
$hash = @md5_file($url);
URL yükleme başarısız olduğunda $hash
aksi takdirde içeriğinin MD5 hash dönecektir, yanlış olacaktır.
Nezaketle stolen from @Jamie. =)
Bu şekilde sadece iki yerine bir istek yapmak zorunda. =)