Skocz do zawartości

[PHP]Funkcja pingowania nowych treści


holee

Rekomendowane odpowiedzi

Witam;

Ma ktoś może z Was gotową funkcję pingującą nowo dodane treści na stronie, którą można zaimplementować w dość nietrudny sposób u siebie na stronach ?

Chciałbym coś takiego zafundować sobie zarówno w katalogach jak i na innej stronie, co by indeksacja w Google trwała jeszcze krócej.

Mam coś takiego jednak nie jestem pewny, czy to działa tak jak powinno:

function ping($tytul, $adres){
file_get_contents("https://www.blogsearch.google.com/ping?name=$tytul&url=$adres&changesURL=$adres");
}

Pozdrawiam

Niedrogie wpisy w płatnych, zadbanych, długowiecznych katalogach (hurtem taniej - pisać na PW):

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

robisz kanał rss albo mapę strony html, xml obojętne byle linki były.

<?php
  // Please, edit these variables to your needs

  $blogTitle="tytuł!";
  $blogUrl="https://www.adres.pl/all.html";
  $pingListFile="pinglist.txt";
  $showDebugInfo=FALSE; // Do you want verbose output?

  // Stop editing here

  // PingRPC.php
  //
  // 2007 by Sascha Tayefeh
  // https://www.tayefeh.de
  //
  // This is a PHP5-based XML-RPC ping script. It reads a one-column
  // fully qualified URL-list from a file ($pingListFile). Here is
  // an example how this file must look like:
  // ----------------------
  // https://rpc.icerocket.com:10080/
  // https://rpc.pingomatic.com/
  // https://rpc.technorati.com/rpc/ping
  // https://rpc.weblogs.com/RPC2
  // ----------------------

  $replacementCount=0; 
  $userAgent="pingrpc.php by tayefeh";

  // Read pinglist file. Must contain one fully qualified URL
  // (e.g: https://rpc.technorati.com/rpc/ping) PER LINE (-> 
  // delimiter is an ASCII-linebreak)
  $fp=fopen($pingListFile,"r");
  while ( ! feof( $fp) )
  {
	 $line = trim(fgets( $fp, 4096));
	 // get the hostname
	 $host=$line; // Make a copy of $line
	 $host=preg_replace('/^.*https:\/\//','',$host); // Delete anything before https://
	 $host=preg_replace('/\/.*$/','',$host); // Delete anything after behind the hostname

	 // get the path 
	 $path=$line; // Make another copy of $line
	 $path=preg_replace('/^.*https:\/\/[a-zA-Z0-9\-_\.]*\.[a-zA-Z]{1,3}\//','',$path,-1,$replacementCount); // Delete anything before the path
	 if(!$replacementCount) $path=''; // if there was no replacement (i.e. no explicit path), act appropiately
	 if($host) $myList[$host]=$path;
 }
  echo "<h1>Ping process started</h1>";

  echo "<p>Reading URLs from file $pingListFile: ";
  echo count($myList)." urls read.</p>";

  // Use DOM to create the XML-File
  $xml= new DOMDocument('1.0');
  $xml->formatOutput=true;
  $xml->preserveWhiteSpace=false;
  $xml->substituteEntities=false;

  // Create the xml structure
  $methodCall=$xml->appendChild($xml->createElement('methodCall'));
  $methodName=$methodCall->appendChild($xml->createElement('methodName'));
  $params=$methodCall->appendChild($xml->createElement('params'));
  $param[1]=$params->appendChild($xml->createElement('param'));
  $value[1]=$param[1]->appendChild($xml->createElement('value'));
  $param[2]=$params->appendChild($xml->createElement('param'));
  $value[2]=$param[2]->appendChild($xml->createElement('value'));

  // Set the node values
  $methodName->nodeValue="weblogUpdates.ping";
  $value[1]->nodeValue=$blogTitle;
  $value[2]->nodeValue=$blogUrl;

  $xmlrpcReq = $xml->saveXML(); // Write the document into a string
  $xmlrpcLength = strlen( $xmlrpcReq ); // Get the string length.

  echo "Here's the xml-message I generated (size: $xmlrpcLength bytes):";

  echo "\n<pre>\n";
  echo htmlentities($xmlrpcReq);
  echo "</pre>";

  echo "<dl>";

  // Proceed every link read from file
  foreach ( $myList as $host => $path)
  {
	 if($showDebugInfo) echo "<hr/>";

	 echo "<dt><strong>Pinging host: $host  </strong>";
	 $httpReq  = "POST /" . $path . " HTTP/1.0\r\n";
	 $httpReq .= "User-Agent: " . $userAgent. "\r\n";
	 $httpReq .= "Host: " . $host . "\r\n";
	 $httpReq .= "Content-Type: text/xml\r\n";
	 $httpReq .= "Content-length: $xmlrpcLength\r\n\r\n";
	 $httpReq .= "$xmlrpcReq\r\n";
	 echo "</dt>";

	 if($showDebugInfo)
	 {
  	 echo "<dd><strong>Request:</strong><pre><span style=\"color: #cc9900\">".htmlentities($httpReq)."</span></pre>";
  	 echo "<strong>Answer</strong>:<span style=\"color: #99cc00\"><pre>";
	 }

	 // Actually, send ping
	 if ( $pinghandle = @fsockopen( $host, 80 ) )
	 {
  	 @fputs( $pinghandle, $httpReq );
  	 while ( ! feof( $pinghandle ) )
  	 { 
  		$pingresponse = @fgets( $pinghandle, 128 );
  		if($showDebugInfo) echo htmlentities($pingresponse);
  	 }
  	 @fclose( $pinghandle );
	 }
	 if($showDebugInfo) echo "</span></pre></dd>";
  }
  echo "</dl>";
  echo "<p>FINISHED</p>";

?>

i pinglist.txt:

https://api.moreover.com/RPC2
https://api.my.yahoo.com/RPC2
https://bblog.com/ping.php
https://blogsearch.google.com/ping/RPC2
https://bulkfeeds.net/rpc
https://ping.bitacoras.com
https://ping.bloggers.jp/rpc/
https://ping.blogmura.jp/rpc/
https://ping.feedburner.com
https://ping.myblog.jp
https://ping.syndic8.com/xmlrpc.php
https://ping.weblogalot.com/rpc.php
https://pinger.blogflux.com/rpc/
https://rpc.blogbuzzmachine.com/RPC2
https://rpc.blogrolling.com/pinger/
https://rpc.pingomatic.com/
https://rpc.tailrank.com/feedburner/RPC2
https://rpc.technorati.com/rpc/ping
https://rpc.weblogs.com/RPC2
https://services.newsgator.com/ngws/xmlrpcping.aspx
https://topicexchange.com/RPC2
https://www.blogdigger.com/RPC2
https://www.blogoon.net/ping/
https://www.blogpeople.net/servlet/weblogUpdates
https://www.holycowdude.com/rpc/ping/
https://api.moreover.com/ping
https://api.moreover.com/RPC2
https://api.my.yahoo.com/RPC2
https://blogbot.dk/io/xml-rpc.php
https://ping.bloggers.jp/rpc/
https://ping.syndic8.com/xmlrpc.php
https://ping.weblogalot.com/rpc.php
https://rpc.blogrolling.com/pinger/
https://rpc.icerocket.com:10080/
https://rpc.technorati.com/rpc/ping
https://rpc.weblogs.com/RPC2
https://topicexchange.com/RPC2
https://www.blogoon.net/ping/
https://www.blogpeople.net/servlet/weblogUpdates
https://xping.pubsub.com/ping/
https://api.feedster.com/ping
https://api.moreover.com/ping
https://blogbot.dk/io/xml-rpc.php
https://ping.syndic8.com/xmlrpc.php
https://api.moreover.com/ping
https://api.moreover.com/RPC2
https://api.my.yahoo.com/RPC2
https://blogbot.dk/io/xml-rpc.php
https://ping.syndic8.com/xmlrpc.php
https://ping.weblogalot.com/rpc.php
https://rpc.technorati.com/rpc/ping
https://rpc.weblogs.com/RPC2
https://topicexchange.com/RPC2
https://www.blogpeople.net/servlet/weblogUpdates
https://xping.pubsub.com/ping
https://api.feedster.com/ping
https://api.moreover.com/RPC2
https://api.my.yahoo.com/RPC2
https://www.blogpeople.net/servlet/weblogUpdates
https://ping.bitacoras.com/
https://ping.bloggers.jp/rpc/
https://ping.feedburner.com/
https://ping.syndic8.com/xmlrpc.php
https://rpc.blogrolling.com/pinger/
https://topicexchange.com/RPC2
https://xping.pubsub.com/ping/
https://rpc.technorati.com/rpc/ping
https://rpc.weblogs.com/RPC2

forum zdrowotne - dodaj ogłoszenie za darmo!

naprawiasz elektronikę? - dodaj ogłoszenie za darmo!

masz kwiaciarnię? - dodaj ogłoszenie za darmo!

Odnośnik do komentarza
Udostępnij na innych stronach

$tytulping="Tytul"; //podaj tytul strony
$adresping='https://'.$_SERVER['HTTP_HOST'].''.$_SERVER['REQUEST_URI'].'';

function ping($tytul, $adres){
file_get_contents("https://www.blogsearch.google.com/ping?name=$tytul&url=$adres&changesURL=$adres");
}

ping($tytulping, $adresping);

Coś prostego i działającego.

Poprawiona Twoja wersja.

Polskie wsparcie serwerowe i komputerowe - Outsourcing IT, instalacje smarthome i sieci komputerowe. Poznaj nasz Blog z nowinkami IT oraz najlepsze darmowe oprogramowanie RustDesk do zdalnego dostępu.

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki Panowie, poskładałem coś do kupi i chyba działa. Oczywiście file_get_contents był zablokowany na serwerze.

Pozdrawiam

Niedrogie wpisy w płatnych, zadbanych, długowiecznych katalogach (hurtem taniej - pisać na PW):

Odnośnik do komentarza
Udostępnij na innych stronach

  • 8 miesięcy temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności