Это то пробовал. Ну мне надо чтобы именно число заходов на страницу записывалось. чтобы когда открою страницу и запишится в text.txt цифра "1" открою ещё раз эту же страницу уже запишется "2" и т.д
PHP: ?php $file = file('text.txt'); $a=count($file); $filelog = fopen("text.txt","a+"); //открываем файл базы $a=$a+; fwrite($filelog," $a <br />"); //записываем всё fclose($filelog); //закрываем ?> тогда так
подправил (пробелы лишние в строке были) счас попробуй (вот эту строчку замени fwrite($filelog," $a <br />"); (я у себя там подкорректировал) если надо чтоб несоздавались записи в файле а просто например была цифра 5- при следующем заходе поменялась на цифру 6 (И Т Д чтоб нераздувать файл) завтра если время будет напишу там надо просто регулярку составить и перезаписывать цифру в тот-же файл) счас просто голова неварит уже
может этот код исправишь? PHP: <?php if ($text==1) { $file=fopen("text.txt","a+"); flock($file,LOCK_EX); $count=fread($file,100); $count++; ftruncate($file,0); fwrite($file,$count); flock($file,LOCK_UN); fclose($file); } ?> он записывает только через переменную а надо чтобы когда открываешь страницу и сразу записалось
Пытаюсь авторизоваться на сайте скриптом.. Получаю в ответ требование включить куки в браузере... Пробовал курлом, пробовал сокетами - всё равно... Вопрос: как сервак проверяет включены ли у меня куки и самое главное как убедить его, что они у меня включены..?! ПС: Врядли это джава скрипт, так как с отключённым ждава скриптом в браузере нормально авторизовываюсь....
держи- вроде то что ты хочеш (на денвере работает) PHP: <?php $file = file_get_contents('text.txt'); preg_match('(.*)', $file, $out) ; $a=$out[0]; $filelog = fopen("text.txt","w+"); //открываем файл базы $a=$a+1; fwrite($filelog," $a "); //записываем всё fclose($filelog); //закрываем ?>
Подскажите где моя ошибка. Понадобился список пользователей, на локалке нормально разбирает, а с сайта тянуть страницы не хочет: PHP: $ot='1'; $do='2'; $filelog=fopen('logname-seo.txt','a+'); function curl_ini(){ $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch,CURLOPT_VERBOSE,1); return $ch;} function get_by_curl($url,$refer){ $useragent='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1) Gecko/20061010 Firefox/2.0;MEGAUPLOAD 1.0'; $ch=curl_ini(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt ($ch, CURLOPT_USERAGENT, $useragent); curl_setopt($ch, CURLOPT_REFERER, $refer); $result=curl_exec ($ch); return $result;} for($q=$ot;$q<=$do;$q++) { $pagemail=get_by_curl("http://forum.searchengines.ru/memberlist.php?page=$q",'http://forum.searchengines.ru/'); preg_match_all('|<a href="member.php(.?)u=([0-9]+)">(.*?)<\/a>|is',$pagemail,$resku); for($y=0;$y<=count($resku[3]);$y++) { echo $resku[3][$y]."<br>"; fwrite($filelog,$resku[3][$y]."\n"); } } fclose($filelog);
Maxxxtri23 Почему бы не использовать прекрасный пример из мануала, поддерживающий произвольное количество клиентов и обрабатывающий отключение/подключение? http://ru.php.net/manual/en/function.socket-select.php#56241
приветствую всех не могу понять как написать цикл, а именно чтоб выдергивал из файла каждый раз 3 строчки и пусть будет выводил на экран. допустим при первой работе цикла он выдернул 1-3 строчки, втрой раз 3-6 строчки и так далее. благодарю
подключись к файлу с помощью file() у тебя образуеться массив с ключами, в цикле укажи вывод переменной на экран (ну или трех) и каждый раз ключи этих переменных увеличивай на 1
можно пожалуйста немного кода набрасать, трудновато пока вот то что сделал: PHP: $k = "name.txt"; $data = file_get_contents($k); $mas = explode("\r\n",$data); for ($i=0; $i<count($mas); $i++) { print " $mas[$i]"; } а вот как +3 сделать не знаю
Есть у когонить пример авторизации на Yandex.ru ? Задача такая, надо авторизоваться на yandex.ru и запостить запись в дневник. PHP: <?php $login='user'; $pass='pass'; $ch = curl_init('https://passport.yandex.ru/passport?mode=auth'); curl_setopt ($ch, CURLOPT_HEADER, 1); curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3'); curl_setopt ($ch, CURLOPT_POST, 1); curl_setopt ($ch, CURLOPT_COOKIEJAR, 'C:/wamp/www/default/ya/cookie.txt'); curl_setopt ($ch, CURLOPT_COOKIEFILE, 'C:/wamp/www/default/ya/cookie.txt'); curl_setopt ($ch, CURLOPT_POSTFIELDS, 'login='.$login.'&passwd='.$pass.'&twoweeks=yes&retpath=http://my.ya.ru/×tamp=1262909700829&kspace=beta.ya.ru'); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 0); curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0); $result = curl_exec ($ch); curl_close ($ch); echo $result; ?> после авторизации он мне говорит что куки у меня выключены, хотя файлик с куками не пустой. если постить запись в дневник с уже подставленными куками то все пашет норм. PHP: <?php $ch = curl_init('http://user.ya.ru/ajax/post_do_save.xml'); curl_setopt ($ch, CURLOPT_HEADER, 1); curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3'); curl_setopt ($ch, CURLOPT_POST, 1); curl_setopt ($ch, CURLOPT_COOKIE, 'тут подставленные куки'); curl_setopt ($ch, CURLOPT_POSTFIELDS, 'access_type=public&replies=1&title=1&tags=&tag=&=%20%2B%20&=%D0%9E%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C&=%D0%9E%D1%82%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C&=&submit_btn=%D0%9E%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C&type=text&feed_id=81083193&body=1'); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, false); $result = curl_exec ($ch); curl_close ($ch); echo $result; ?> Кто что может подсказать ? как можно аторизоваться и запостить одновременно?
То admink1 Вернулся я, держи свой скрипт PHP: <?php $k = file('name.txt');// получаем массив $a=array_chunk($k,3); // делим массив на подмассивы по 3 элемента foreach ($a as $c => $d){//выводим полученные тройки echo " Выводим $c -ый раз : <ul>"; foreach ($d as $f) echo "<li> $f"; echo "</ul>"; } ?> результат примерно такой Выводим 0 -ый раз : 25 456 789 Выводим 1 -ый раз : 425 456 7851 Выводим 2 -ый раз : 54698 52145 25469 там подправиш если что нетак
посмотри мой курл (счас непроверял- раньше работал) PHP: function post($url,$post,$refer) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); curl_setopt($ch, CURLOPT_REFERER, $refer); curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook"); curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); return $result; }
результат вот такой: Code: Выводим 0 -ый раз : 1 2 3 Выводим 1 -ый раз : 4 5 7 Выводим 2 -ый раз : 8 9 10 блин, как я понимаю он выводит подмассивами, а некаждую строку отдельно. ps нужно чтоб вывел вначале 1, потом 2, 3. при следующем повторе цикла вначале 4, потом 5, 6 спасибо, и сорри за настойчивость
Когда-то писал, сейчас незнаю работает или нет, проверь. PHP: function login($login,$pass) { $ch = curl_init('https://passport.yandex.ru/passport?mode=auth'); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3'); curl_setopt($ch, CURLOPT_REFERER, 'https://passport.yandex.ru/passport?mode=auth'); curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'cook.txt'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "login=$login&passwd=$pass"); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); $res = curl_exec($ch); if(preg_match('#https:\/\/passport\.yandex.ru\/passport\?mode=logout#',$res)) return true; }