В php вообще не разбирась, но знаю что такое можно сделать:
нежен маленький скрипт (скорее всего буквално одна строчка),
который бы копировал инфу с другого сайта на мой,
например сайт: titanpoker.com информация о кол-ве столов и играков
(Players Online: 13591| Active Tables: 1774), меняется при каждой загрузке,
грубо говоря нужно выдерать кол-во столов и вставлять у себя на сайте.
Кто подскажет, буду очень благодарен,
заранее спасибо.
Спустя 2 часа, 34 секунды (31.10.2007 - 18:48) emp написал(а):
Во-первых, основы:
http://php.net/manual/ru/function.fsockopen.php
Во-вторых, функция:
Ну а далее вызываете функцию и парсите body.
http://php.net/manual/ru/function.fsockopen.php
Во-вторых, функция:
Код
function urlGetContents($url, $timeout = 5)
{
$url_parsed = parse_url($url);
$host = $url_parsed["host"];
if ($url == '' || $host == '') {
return false;
}
$hostName = gethostbyname($host);
$ip = ip2long($hostName);
if ($ip === -1 || $ip === false) {
return false;
}
$port = ($url_parsed["port"] == 0 ? 80 : $url_parsed["port"]);
$path = (empty($url_parsed["path"]) ? '/' : $url_parsed["path"]);
$path.= (!empty($url_parsed["query"]) ? '?'.$url_parsed["query"] : '');
$out = "GET $path HTTP/1.0\r\nHost: $host\r\nConnection: Close\r\n\r\n";
$fp = fsockopen($host, $port, $errno, $errstr, intval($timeout));
if (!$fp) {
return false;
}
stream_set_timeout($fp, intval($timeout));
fwrite($fp, $out);
$headers = '';
$content = '';
$buf = '';
$isBody = false;
while (!feof($fp)) {
$buf = fgets($fp, 1024);
if ($isBody) {
$content .= $buf;
} else {
$headers .= $buf;
}
if ($buf == "\r\n" ) {
$isBody = true;
}
}
preg_match('#HTTP/1.[0-9]{1}\s+([0-9]{3}).*#is', $headers, $match);
fclose($fp);
if($match[1] != 200) {
return false;
}
return array('headers'=>$headers,'body'=>$content);
}
{
$url_parsed = parse_url($url);
$host = $url_parsed["host"];
if ($url == '' || $host == '') {
return false;
}
$hostName = gethostbyname($host);
$ip = ip2long($hostName);
if ($ip === -1 || $ip === false) {
return false;
}
$port = ($url_parsed["port"] == 0 ? 80 : $url_parsed["port"]);
$path = (empty($url_parsed["path"]) ? '/' : $url_parsed["path"]);
$path.= (!empty($url_parsed["query"]) ? '?'.$url_parsed["query"] : '');
$out = "GET $path HTTP/1.0\r\nHost: $host\r\nConnection: Close\r\n\r\n";
$fp = fsockopen($host, $port, $errno, $errstr, intval($timeout));
if (!$fp) {
return false;
}
stream_set_timeout($fp, intval($timeout));
fwrite($fp, $out);
$headers = '';
$content = '';
$buf = '';
$isBody = false;
while (!feof($fp)) {
$buf = fgets($fp, 1024);
if ($isBody) {
$content .= $buf;
} else {
$headers .= $buf;
}
if ($buf == "\r\n" ) {
$isBody = true;
}
}
preg_match('#HTTP/1.[0-9]{1}\s+([0-9]{3}).*#is', $headers, $match);
fclose($fp);
if($match[1] != 200) {
return false;
}
return array('headers'=>$headers,'body'=>$content);
}
Ну а далее вызываете функцию и парсите body.