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';} } '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); if ($statusTag == 'OKsi') {$icon = ':-) ';} else if ($statusTag == 'NOsi') {$icon = ';-OOOOO ';} else {$icon = '';} $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