Наверное, есть тут дотеры, и знают о сайте http://getdota.com/ - официальный сайт. Так вот. Вверху есть строчка вида: Latest Map: "версия" (сейчас 6.57б) ТАк вот, и в помощь игрокам решил написать парсер на PHP дабы тот любое изменение этой строки замечал и отправлял инфу на мыло, или несколько мыл. Не знаю даже с чего начать, т.к. я новичок. Но решил, что будет полезно поупражняться.
PHP: <? $dota = file_get_contents('http://getdota.com/'); preg_match_all('|"version">(.+)</span>|',$dota, $ver, PREG_PATTERN_ORDER); $msg = 'Latest '.$ver[1][0].' | Stable '.$ver[1][1]; mail('[email protected]', 'Dota version', $msg); ?>
Вы похоже не поняли. Скрипт не должен требовать захода на него каждый раз. Он сам должен проверять. Т.е. к примеру каждые 30 мин.
пишет такую ошибку: Warning: file_get_contents(http://getdota.com/) [function.file-get-contents]: failed to open stream: Connection refused in /home/www/dotaup.100webspace.net/dota.php on line 2
Хелпер PHP: <? @set_time_limit(0); @ini_set("max_execution_time", 0); function get($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208'); $ss=curl_exec($ch); curl_close($ch); return $ss; } $a=get('http://getdota.com/'); if (preg_match_all('|>([^<>]+)<span class="version">([^<>]+)</span>|i',$a,$result,PREG_SET_ORDER)) { $f=fopen('dota.txt','w'); fwrite($f,$result[0][1].$result[0][2]."\r\n".$result[1][1].$result[1][2]); fclose($f); } ?> Ставить на крон, а на страницах - инклудить файл dota.txt
борзеешь, сынок. Тебе инфу выцепили, не хочешь писать в файл (что, кстати, неплохо, в случае неудачной отсылки на мыло - ака логирование), сразу отсылай на мыло: PHP: $to = "кому"; $ot = "от кого"; $subj = "Сабж"; $mess = $result[0][0]; mail($to, $subj, $mess, "From: ".$ot);