nixp.ru v3.0

21 октября 2017,
суббота,
15:01:58 MSK

DevOps с компанией «Флант»
apple написал 15 марта 2009 года в 00:35 (1606 просмотров) Ведет себя неопределенно; открыл 19 тем в форуме, оставил 98 комментариев на сайте.

как сделать чтобы выводило не по всем результату(сразу)

а по мере выполнения команды.

ping -c 5 пока пять пингов не пройдут страница не сгенерится.

как сделать чтобы по чуть чуть выводилось?

Дмитрий Шурупов

http://ru2.php.net/manual/ru/function.flush.php

Дмитрий Шурупов

flush() немедленно выводит все, что накопилось в буфере для вывода.

А вообще, я тут прочитал на http://ru2.php.net/manual/ru/function.system.php интересную строчку: » The system() call also tries to automatically flush the web server’s output buffer after each line of output if PHP is running as a server module.»

Даже не поленился и проверил… Оно у меня так и работает: выводит в браузере по строчке, прямо как в консоли.

P.S. Ни print, ни echo перед system() не нужны. Функция system() сама не только выполняет команду, но и выводи его результат.

apple

чето с system() вылетает как и с print system. может так быстро работает.

пробовал с ping не пашет. может прав на пинг нету.

хочется прям увидеть по одной строчке.

вот http://dnstracer.ru/ отзывы?

Дмитрий Шурупов
apple
вот http://dnstracer.ru/ отзывы?

Нормально показывает. Выбрасывает полный ответ почти сразу…

apple

а дизайн как?

Дмитрий Шурупов

Дизайн никак — его там нет :-)

Аналогично и с отдельной страницей — не вижу здесь ничего принципиального.

apple

а дизайн он нужен?

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

Дмитрий Шурупов

> а дизайн он нужен?

А я автор сайта? Зависит от того, зачем/для кого/… вы это все делаете. Исходя из этого вам и решать, что там нужно.

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

На форумах обычно другое. Сессии называются. И используются там хэши не для имени PHP-файла, а для идентификации пользователя. Подробнее — http://ru2.php.net/session

Если нужно просто домен хэшировать, не вижу никаких трудностей: http://ru2.php.net/manual/ru/function.md5.php

apple

как сделать типа истории — последние 10 просмотренных доменов.?

Дмитрий Шурупов

Записывать их в файл / базу данных. Потом оттуда считывать.

apple

10-20 доменов есть ли смысл с базой?.

как это конкретно сделать?

так сказать интерисует реализация.

<input type=«text» name=«domain» onkeypress=«isEnter(event)»>

<input type=«submit» value=«Trace»>

переменная $domain это то что вводится в форму, имя домена.

т.е. записать insert’om в базу ?

Дмитрий Шурупов

Ну, БД в таком случае не особо нужна.

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

apple

или может вообще сохранять все домены . тогда база.

нужно еще время писать.

время откуда брать?

и читать из файла средствами пхп, подставляя http:// к домену.

это всё сложно сделать? какой вариант проще с базой или файлом?

Дмитрий Шурупов

> время откуда брать?

http://ru2.php.net/manual/ru/function.date.php

> и читать из файла средствами пхп, подставляя http:// к домену.

Зачем «http://» подставлять?

> это всё сложно сделать?

Крайне просто :-)

> какой вариант проще с базой или файлом?

Ну, зависит от опыта, наверное. Для меня равнозначны.

apple

подставлять http:// чтобы ссылка получилась.

как отсекать оставлять только 10 последних?

насчет system() если попробывать домен cracks.am скрипт долго думает потом выдает результат. есть подозрение что утилита выводит в шелле кусочками результаты а в пхп пока полностью не завершит. т.е не получит результат весь. может system() не выводит части?

Дмитрий Шурупов

> как отсекать оставлять только 10 последних?

Как освоишь работу с файлами, поймешь. Зависит от того, как получать данные из файла (сразу массивом или читать построчно).

> может system() не выводит части?

У меня выводит — специально пробовал на локальном сервере. Возможно, для этого нужно подкрутить какие-то настройки php/apache (у меня дефолтная ubuntu). Что именно, сходу не скажу — могу только посоветовать погуглить на тему.

apple
Dmitry Shurupov
Даже не поленился и проверил… Оно у меня так и работает: выводит в браузере по строчке, прямо как в консоли.

P.S. Ни print, ни echo перед system() не нужны. Функция system() сама не только выполняет команду, но и выводи его результат.

http://dnstracer.bsdi.ru/2.php

содержимое

<?php
echo '

;
      system("/sbin/ping -c 5 ya.ru");
echo '

;
?>

вы ждете 5 пингов только потом вывод.

так что не работает.

Дмитрий Шурупов
apple
http://dnstracer.ru/2.php

содержимое

<?php
echo '

';
      system("/sbin/ping -c 5 ya.ru");
echo '
';
?>

вы ждете 5 пингов только потом вывод.

так что не работает.

У меня на локальном апаче оно выводит по строчкам. На удаленном сервере (vps) выводит разом.

Выводы: дело в настройках php (и, возможно, хотя вряд ли — apache), о чем я уже писал. С первого набега в php.ini из интересных опций попалось только implicit_flush, но дело не должно быть в ней. Google, php.net в помощь :-)

apple

с выводом разобрался тему можно удалять.

нужно чтобы где строка содержит * окрашивало в синий цвет.

$b=preg_replace(«/

  • /«,»\\1 aaaa«,»$b»); это окрашивает только aaaa