violinrocker Posted April 23, 2012 Share Posted April 23, 2012 i found a script here Im only know a little about pings and so... my questions are 1. do I need to put the post's url on $blogUrl or do i put the root url? 2. there is something at the bottom of the page about atom- or rss-feed... do I need an rss feed for this script to work? if so, Do i just make an rss feed? <?php // Please, edit these variables to your needs $blogTitle="Title Of your blog"; $blogUrl="http://www.yourblog.url/"; $pingListFile="pinglist.txt"; $showDebugInfo=FALSE; // Do you want verbose output? // Stop editing here // PingRPC.php // // 2007 by Sascha Tayefeh // http://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: // ---------------------- // http://rpc.icerocket.com:10080/ // http://rpc.pingomatic.com/ // http://rpc.technorati.com/rpc/ping // http://rpc.weblogs.com/RPC2 // ---------------------- $replacementCount=0; $userAgent="pingrpc.php by tayefeh"; // Read pinglist file. Must contain one fully qualified URL // (e.g: http://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('/^.*http:\/\//','',$host); // Delete anything before http:// $host=preg_replace('/\/.*$/','',$host); // Delete anything after behind the hostname // get the path $path=$line; // Make another copy of $line $path=preg_replace('/^.*http:\/\/[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>"; ?> Link to comment https://forums.phpfreaks.com/topic/261471-auto-ping-for-non-blog-site/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.