Вот пример: https://blablablabla.com LOGONPAGE=LOGONPAGE screenRes=1024x768 timezone=GMT 0000 Java=On UserId1=1234214 Password=qwerty QQpass=qwerty нечто подобное к примеру находиться в файлах. меня интересует с помощью какой функции можно найти строчку с адресом и считать её и несколько строк следующих за ней.
PHP: <pre> <?php @set_time_limit(0); @ini_set("display_errors","1"); $b = 8; //Кол-во строчек с нужной нам инфо, следующее за названием сайта (включая пустые строки, до следующего названия сайта) $z = fopen('tema2.txt', 'a'); // Файл-результат по запросу $submit = $_POST['submit']; if(isset($submit)) { $site = trim($_POST['site']);//Сайт, данные по которому нам нужны $a = fopen('tema1.txt','r'); //Файл с данными while(!feof($a)) { $buffer = trim(fgets($a)); if (preg_match('|' . $site . '|',$buffer)) { for ($i=1; $i<=$b; $i++) { echo "$buffer\n"; fwrite ($z,"$buffer\r\n"); $buffer = trim(fgets($a)); } } } fwrite ($z,"=====================\r\n"); fclose ($a); } ?> </pre> <html> <head> <meta http-equiv="Content-Type" content="text; charset=windows-1251"> <title>FTP2FTP</title> </head> <bоdу> <div align="center"> <form method="post"> <table> <tr><td><span>Input site name:</span></td><td><input type="text" name="site" /></td></tr> </table> <input type="submit" name="submit" value="Find" /> </form> </div> </bоdу> </html> причем можно воодить без "http" или просто часть названия сайта
как записать три строки в файл? Например первая $name втроая $email треяя $message. Чтобы потом масив $data[0] содержал $name $data[1] содержал $email $data[2] содержал $message. У меня получаеться так но если я в $message записиваю несколько строк с пробелами и с "ентер" например "авбгд авбвгд абвгд" То потом у меня $data[2] содержыт только "авбгд" а мне нужно чтобы вивести потом все ссобщение а не только первую строку.
Можно поконкретней, я записиваю так: fputs($file,$name."\n"); fputs($file,$email."\n"); fputs($file,$message."\n"); Считиваю так for($i2 = $start; $i2<$count; $i2++) { $entry = $me[$i2]; $data = file("mes/$me[$i2]"); $name = trim($data[0]); $email = trim($data[1]); $message = trim($data[2]); }
можно перед записью заменить символы переноса каретки на тег <br> $message=str_replace("\n","<br>",$message); тогда у вас в файле будет одна строка $data[2] = "авбгд<br>авбвгд<br>абвгд";
вставлю своих 5 коп PHP: <?php $msg=" авбгд авбвгд абвгд"; $msgtrue=str_replace("\n","",$msg); echo $msgtrue;// авбгд авбвгд абвгд ?>
Эй, народ, что ЭТО такое??? Отвечу - это полтора страницы быдлокодов. Patronik, Запись: PHP: <? $name='Павел Дуров'; #имя $email='[email protected]'; #емейл $message='Привет всем!'; #сообщение $file='info.txt'; #файл для записи fwrite(fopen($file,'a+'),$name."\r\n".$email."\r\n".$message); #запись в файл ?> Чтение: PHP: <? $file='info.txt'; #файл для чтение $data=file($file); #читаем файл /* $data выйдет Array ( [0] => Павел Дуров [1] => [email protected] [2] => Привет всем! ) */ ?>
Я бы считал так: PHP: $name = array_shift($data); $email = array_shift($data); $message = implode(" ", $data);
Специально для тебя всё по-порядку: 1) 2) 3) То есть вместо кода PHP: $name = trim($data[0]); $email = trim($data[1]); $message = trim($data[2]); Я предлагаю PHP: $name = array_shift($data); $email = array_shift($data); $message = implode(" ", $data); Про file() я знаю, эта функция там присутствует... К томуже мой вариант решает проблему А твой нет...
Код: PHP: while (!feof($file)){ $buff = fgets($file,4096); $i++; $ex1 = explode(";",$file); $ex2 = explode("-",$file); echo "<tr><td width=\"28\" height=\"23\"><center>".$i."</center></td><td width=\"107\"><center>".$ex1[0]."</center></td><td width=\"43\"><center>".$ex2[1]."</center></td>,</tr>"; } Проблема в том что отображаеться в поле вместо содержания $ex1[0] отображается "Resource id #4" а вместо $ex2[1] - ничего Ах да все что было в файле удаляется при этом В чем проблема? В файле из которого вывожу примерно это 123456;098732-15
PHP: <? $file=file('info.txt'); foreach($file as $line){ $i++; $ex1 = explode(";",$line); $ex2 = explode("-",$line); echo "<tr><td width=\"28\" height=\"23\"><center>".$i."</center></td><td width=\"107\"><center>".$ex1[0]."</center></td><td width=\"43\"><center>".@$ex2[1]."</center></td>,</tr>"; } ?> Так устраивает? Намного легче + удобнее. ЗЫ: Если надо все таки тот вариант, читай с буффера, а не с хендла PHP: <? $file=fopen('info.txt','a+'); while (!feof($file)){ $buff = fgets($file,4096); $i++; $ex1 = explode(";",$buff); //посмотри у себя $ex2 = explode("-",$buff); //посмотри у себя echo "<tr><td width=\"28\" height=\"23\"><center>".$i."</center></td><td width=\"107\"><center>".$ex1[0]."</center></td><td width=\"43\"><center>".$ex2[1]."</center></td>,</tr>"; } ?>
Спасибо большое! Вот такой вопрос ко всем... Нужно сделать задержку в миллисекундах (на php) Как это реализовать? подчеркиваю что в миллисекундах нужна задержка а не в секундах