| |
|
|
| | Помогите реализовать. Мне нужно чтоб мой скрипт читал файл построчно и где встречал строчку "load.exe" выводил её на экран.
вот , что у мня вышло :
<?
if (!($f=fopen("apache.txt", "r")))
{ die("Open error!"); }
$s = fread($f, 11);
print("<P><h1>IP , LOAD INFO:</h1> $s");
fclose($f);
?>
|
читаю файл и вывожу только первые 11 символов .. могу читать с конца и т.д
но не как не получается сделать так : что бы он читал файл и опираясь на условие выводил строчку где имеется совпадение с "load.exe". Подкиньте инфы или пример скрипта. | |
| |
|
|
| |
|
|
| |
для: adminn
(05.02.2007 в 23:54)
| | |
<?
$file = file ('apache.txt');
if (!$file) die ('error');
foreach ($file as $f) {
if (strpos ($f, 'load.exe') !== false)
print "$f<br>";
}
?>
|
| |
| |
|
|
| |
|
|
| |
для: bronenos
(06.02.2007 в 00:03)
| | | Спасибо!
Все прекрасно работает.. еще вопрос :
- а не страшно грузить файл функцией file()
у меня файлы будут по 100 мб. и обращений будет тоже довольно много.. получается , что такой сценарий будет жрать очень много ресурсов.
наверно будет лучше использовать fopen() или как? | |
| |
|
|
| |
|
|
| |
для: adminn
(06.02.2007 в 00:25)
| | | Конечно страшно! Банально может не хватить памяти.
<?
$fp = fopen("apache.txt", "r");
while ( !feof($fp) ) {
$str = fgets($fp);
if ( strpos($str, "load.exe") !== false ) {
print $f."<br>";
}
}
|
| |
| |
|
|
| |
|
|
| |
для: Саня
(06.02.2007 в 00:58)
| | | Опасно... строка (т.е. нечто до байта 0Ah) тоже может оказаться весьма длинной.
....
Не поглядел, о чем речь идет. Для строк лога вполне приемлемо. | |
| |
|
|
| |
|
|
| |
для: Trianon
(06.02.2007 в 10:56)
| | | никто не мешает брать не строку а символ и проверять его на соответствие букве "l" - потом читать еще нужное кол-во для сравнения с "load.exe" - и потом до конца... просто усложниться процесс тем, что надо доп буфер организовывать, куда сохранять набираемую посимвольно строку... но это исключит переполнение (кстать, если еще и учесть, что выводимая строка большая может быть, то тут много нюансов - все расписывать не буду - лень) | |
| |
|
|
| |
|
|
| |
для: adminn
(06.02.2007 в 00:25)
| | | Скороее Вам нужно решить вопрос кэширования полученных данных | |
| |
|
|
| |
|
|
| |
для: tonnal
(06.02.2007 в 00:58)
| | | lol | |
| |
|
|
| |
|
|
| |
для: adminn
(06.02.2007 в 00:25)
| | | Если в файле более 10000 строк желательно использовать базу данных.. | |
| |
|
|
| |
|
|
| |
для: Disable
(06.02.2007 в 12:05)
| | | Причем тут база данных? если я читаю лог апача?
Всем спасибо. | |
| |
|
|
| |
|
|
| |
для: adminn
(06.02.2007 в 17:13)
| | | Если читать лог апача - то строки всяк не более максимальной длины, поддерживаемой браузером - вроде 1Кб - так что смело можешь читать построчно =)) | |
| |
|
|