Witam!
Mam oto taki
plik który odpowiedzialny jest za pingowanie sitemapy (
http://www.forumbiznesu.eu/rapidfinder.pl/tesssst.php)
<?php
function sitemapSubmit($strona,$engine,$OKmessage,$NOmessage)
{
$okTag = 'OKsi';
$noTag = 'NOsi';
$pingurl = $engine.$strona;
if ($source != false) {
$source = "BUFOR".$source;
$isOKmessage = stripos($source,$OKmessage);
$isNOmessage = stripos($source,$NOmessage);
if (($isOKmessage != false)&&($isNOmessage == false)) {$submitRaport = $okTag.$OKmessage;}
if (($isOKmessage == false)&&($isNOmessage != false)) {$submitRaport = $noTag.$NOmessage;}
if (($isOKmessage == false)&&($isNOmessage == false)) {$submitRaport = $noTag.'Submission error';}
}
else if ($source == false) {$submitRaport = $noTag.'Engine error';}
return array($source, $submitRaport);
}
'nazwaEngine' => 'Google',
'engine' => 'http://www.google.com/webmasters/sitemaps/ping?sitemap=',
'OKmessage' => 'Sitemap Notification Received',
'NOmessage' => 'Bad Request'
),
'nazwaEngine' => 'Yahoo!',
'engine' => 'http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=',
'OKmessage' => 'Update notification has successfully submitted',
'NOmessage' => 'The following errors were detected'
),
'nazwaEngine' => 'Live Search',
'engine' => 'http://webmaster.live.com/ping.aspx?siteMap=',
'OKmessage' => 'Thanks for submitting your sitemap',
'NOmessage' => 'baddddddd'
),
'nazwaEngine' => 'Ask.com',
'engine' => 'http://submissions.ask.com/ping?sitemap=',
'OKmessage' => 'Your Sitemap submission was successful',
'NOmessage' => 'Your Sitemap submission was not successful'
),
'nazwaEngine' => 'Moreover',
'engine' => 'http://api.moreover.com/ping?u=',
'OKmessage' => 'Thank you for your ping',
'NOmessage' => 'baddddddd'
),
'nazwaEngine' => 'ForumBiznesu.eu',
'engine' => 'http://www.forumbiznesu.eu/wordpress/submission.php?sitemap=',
'OKmessage' => 'Sitemap submission successful',
'NOmessage' => 'baddddddd'
),
);
$added_sitemap .= '<p>';
foreach ($silnik as $siln => $cecha )
{
$nazwaEngine = $cecha['nazwaEngine'];
$engine = $cecha['engine'];
$OKmessage = $cecha['OKmessage'];
$NOmessage = $cecha['NOmessage'];
$strona = "http://www.jakasstrona.com/sitemap.xlm";
list ($source, $submitRaport) = sitemapSubmit($strona,$engine,$OKmessage,$NOmessage);
$statusTag = substr($submitRaport,0
,4
); if ($statusTag == 'OKsi') {$icon = ':-) ';}
else if ($statusTag == 'NOsi') {$icon = ';-OOOOO ';}
else {$icon = '';}
$submitRaport = substr($submitRaport,4
);
$insert_sitemap = "\n".$icon."<b>".$nazwaEngine."</b> reported:<br /><i>".$submitRaport."</i><br />";
$added_sitemap .= $insert_sitemap;
}
$added_sitemap .= '</p>';
?>
<?=$added_sitemap?>
Jednakże z niejasnych przyczyn prawie zawszenie
nie udaje się uzyskać treści
http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=http://www.jakasstrona.com/sitemap.xlm (raz na 100 zadziała)
wpisując ręcznie ten adres problemużadnego nie ma.
gdy pozbędę się operatora @ sprzed funkcji file_get_contents() (tak wygląda plik na serwerze) widzę komunikat:
Kod
Warning: file_get_contents(http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=http://www.jakasstrona.com/sitemap.xlm) function.file-get-contents: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /home/twardes0/public_html/rapidfinder.pl/tesssst.php on line 11
próbowałem różnych rozwiązań ale na razie nici (domyślam się że chodzi o nagłówki http)
Proszę o wasze pomysły