dvaes

dvaes
Рейтинг
65
Регистрация
03.09.2007

вы читали хоть тему в этой ветке?

/ru/forum/308744

я как-то спамил кое-чего (в хорошем смысле=) ) и там написал такое. можно модернизировать или так оставить


//получение страницы
function get_page($host, $page="/", $cookie="", $post="")
{
if (function_exists("curl_init"))
return curl_get_page($host, $page, $cookie, $post);

return socket_get_page($host, $page, $cookie, $post);
}
//через курл
function curl_get_page($host, $page="/", $cookie="", $post="")
{
$ch = curl_init ("http://" . $host . $page);

if ($post!="")
{
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $post);
}
curl_setopt ($ch, CURLOPT_FAILONERROR, 1);
curl_setopt ($ch, CURLOPT_TIMEOUT, 20);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_HEADER, 1);
//curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);

if ($cookie!="")
curl_setopt ($ch, CURLOPT_COOKIE, $cookie);

if (!$content = curl_exec ($ch))
return false;
curl_close ($ch);

list ($header, $html) = explode("\r\n\r\n", $content, 2);
return array($header, $html);
}
//загрузка контента при помощи сокета
function socket_get_page($host, $page="/", $cookie="", $post="")
{
if (!$fp = fsockopen ($host, 80))
return false;

socket_set_blocking ($fp, false);
socket_set_timeout ($fp, 5);

$protocol = "GET";
$header = "";

if ($cookie!="")
$header = "Cookie: " . $cookie . "\r\n";

if ($post!="")
{
$protocol = "POST";
$header .= "Content-Type: application/x-www-form-urlencoded\r\nContent-Length: ".strlen($post)."\r\n";
}

$request = $protocol . " " . $page." HTTP/1.0\r\n".
"Host: ".$host."\r\n".
"Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n".
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2\r\n".
$header.
"\r\n" . $post;

fputs ($fp, $request);

$content = "";
while (!feof ($fp))
$content .= fgets ($fp, 1024);

fclose ($fp);

list ($header, $html) = explode("\r\n\r\n", $content, 2);

return array($header, $html);
}

че-т не понял. к чему это в данной теме?)

у вас не ходят, у нас в селе бывает вылезают в голодный год не только медведи, но и лоси с козлами... дошло до того, что по периметру дома вешают проволоку под напряжением) особенно где пасека)

ну исходя из кода вашей функции то


$file=file_get_contents("http://www.yandex.ru/yandsearch?ras=1&spcctx=notfar&zone=all&wordforms=all&lang=all&within=0l&Link=&rstr=&site=$url&numdoc=1&ds=");
$file=iconv("UTF-8", "CP1251", $file);

if(preg_match("|нашлось (.*) страниц[\s]?</title>|is",$file,$ok))
return $ok[1];
return 0;

мне, кстати, жалуются что каждые сутки, допустим, снимается по 5 или более копеек с телефона, с которого ни звонков ни смс не отправлялось). мелочь конечно, но если так низачто у десятков тысяч абонентов снимают - деньги достаточно приличные)))

а при ошибке какие данные приходят?) и если ничего не приходит можно ставить таймер, по истечению которого будет выполняться функция обработки ошибки?

ничего голого нет кроме этой плохонькой

а у меня такая есть

чем не джентльмен)

jpg ABCD0001.jpg
Подскажите пожалуйста, как сделать так, чтобы в классе B была доступна только функция qwe из класса A (т.е. чтобы досутпа к asd небыло вообще). Думал передать класс А по ссылке, но тогда ведь все функции будут доступны
Проблема в том, что asd должна вызываться в другом классе и не должно быть доступа к функции qwe.

а теперь последний раз. к чему должно и к чему не должно быть доступа?

Всего: 515