Php ile google ping lemek
function pingGoogleSitemaps( $url_xml )
{
$status = 0;
$google = ‘www.google.com’;
if( $fp=@fsockopen($google, 80) )
{
$req = ‘GET /webmasters/sitemaps/ping?sitemap=’ .
urlencode( $url_xml ) . ” HTTP/1.1\r\n” .
“Host: $google\r\n” .
“User-Agent: Mozilla/5.0 (compatible; ” .
PHP_OS . “) PHP/” . PHP_VERSION . “\r\n” .
“Connection: Close\r\n\r\n”;
fwrite( $fp, $req );
while( !feof($fp) )
{
if( @preg_match(‘~^HTTP/\d\.\d (\d+)~i’, fgets($fp, 128), $m) )
{
$status = intval( $m[1] );
break;
}
}
fclose( $fp );
}
return( $status );
}
Fonksiyonun çıktı olarak 200, 404 gibi HTTP Status kodları veriyor, eğer sonuç 200 ise ping atma işlemimiz başarılı olmuş demektir, kullanımına bir örnek;
if (200 === ($durum=pingGoogleSitemaps(‘http://www.codekodu.com/sitemap.xml’)))
echo “Ping Basarili.
Durum Kodu: $durum.”;
else
echo “Ping Basarisiz.
Durum Kodu: $durum.”;