URI PHP ile olup olmadığını nasıl kontrol edebilirim?
Ben bir hata kodu dönecektir sanırım ve ben file_get_contents kullanmak önce var olmayan bir linke file_get_contents kullanırsanız, o bana bir hata verir, çünkü onu kontrol edebilirsiniz.
web sunucusu başlık bilgisi ile sağlanan beri, aksi halde, uri var varsayabiliriz - fonksiyonunu array get_headers($url, [, int $format = 0 ]) , it should return false başarısızlık üzerinde deneyin.
Yukarıda fopen çözümlerinde çok daha az trafik neden gereken, bir GET aksine işlevi bir HTTP HEAD isteği kullanır umuyoruz.
Sen uri / url bir CURL isteği gönderebilirsiniz. Protokole bağlı olarak sonucu kontrol edebilirsiniz. HTTP için HTTP durum kodu için kontrol etmelisiniz 404. Giriş the curl manual on php.net. Bazı durumlarda file_exists() a> işlevini kullanabilirsiniz.
<?php
$curl = curl_init('http://www.example.com/');
curl_setopt($curl, CURLOPT_NOBODY, true);
curl_exec($curl);
$info = curl_getinfo($curl);
echo $info['http_code']; // gives 200
curl_close($curl);
$curl = curl_init('http://www.example.com/notfound');
curl_setopt($curl, CURLOPT_NOBODY, true);
curl_exec($curl);
$info = curl_getinfo($curl);
echo $info['http_code']; // gives 404
curl_close($curl);
Böyle bir şey deneyin:
if ($_REQUEST[url] != "") {
$result = 1;
if (! ereg("^https?://",$_REQUEST[url])) {
$status = "This demo requires a fully qualified http:// URL";
} else {
if (@fopen($_REQUEST[url],"r")) {
$status = "This URL s readable";
} else {
$status = "This URL is not readable";
}
}
} else {
$result = 0;
$status = "no URL entered (yet)";
}
Sonra sonra kullanarak bu işlevi çağırabilirsiniz:
if ($result != 0) {
print "Checking URL <b>".htmlspecialchars($_REQUEST[url])."</b><br />";
}
print "$status";