Leonid777
Постоялец
- Регистрация
- 16 Мар 2007
- Сообщения
- 97
- Реакции
- 5
- Автор темы
- #1
Профи, подскажите плиз. :bc:
Вот две функции, которые впринципе должны делать одно и тоже, только разными методами:
Функция 1:
И функция 2:
Меня интересует, какая из них будет быстрее работать и жрать меньше системных ресурсов. + Какая из них, на Ваш взгляд наиболее эффективна?
Вот две функции, которые впринципе должны делать одно и тоже, только разными методами:
Функция 1:
PHP:
<?
ping ("http://ping.blogs.yandex.ru/RPC2", "Pupkin","http://pupkin.net/");
// ping ("http://ping.feedburner.com/RPC2", "Pupkin","http://pupkin.net/");
function ping ($url, $blogname, $blogurl)
{
$tb_send='<?xml version="1.0"?>
<methodCall>
<methodName>weblogUpdates.ping</methodName>
<params>
<param>
<value>'.$blogname.'</value>
</param>
<param>
<value>'.$blogurl.'</value>
</param>
</params>
</methodCall>';
$target=parse_url($url);
$tb_sock = fsockopen($target["host"], 80);
fputs($tb_sock, "POST " . $target["path"] . $target["query"] . " HTTP/1.1\r\n");
fputs($tb_sock, "User-Agent: Pupkin.net\r\n");
fputs($tb_sock, "Host: " . $target["host"] . "\r\n");
fputs($tb_sock, "Content-Type: text/xml\r\n");
fputs($tb_sock, "Content-length: " . strlen($tb_send) . "\r\n");
fputs($tb_sock, "Connection: close\r\n\r\n");
fputs($tb_sock, $tb_send);
// Gather result
while (!feof($tb_sock)) {
$response .= fgets($tb_sock, 128);
}
// Close socket
fclose($tb_sock);
// Did the trackback ping work
strpos($response, '<error>0</error>') ? $return = true : $return = false;
// send result
return $return;
}
?>
И функция 2:
PHP:
<?php
$blogname = "Блог Пупкина";
$blogurl = "xttp://pupkin.net/";
# Using the XML-RPC extension to format the XML package
$request = xmlrpc_encode_request("weblogUpdates.ping", array($blogname, $blogurl) );
# Using the cURL extension to send it off,
# first creating a custom header block
$header[] = "Host: rpc.technorati.com";
$header[] = "Content-type: text/xml";
$header[] = "Content-length: ".strlen($request) . "\r\n";
$header[] = $request;
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, "http://rpc.technorati.com/rpc/ping"); # URL to post to
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 ); # return into a variable
curl_setopt( $ch, CURLOPT_HTTPHEADER, $header ); # custom headers, see above
curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'POST' ); # This POST is special, and uses its specified Content-type
$result = curl_exec( $ch ); # run!
curl_close($ch);
echo $result;
?>