Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   [PHP]Слежка за тем что выводит запущенный процесс в консоль (https://forum.antichat.xyz/showthread.php?t=163696)

Kuzya 15.12.2009 12:49

[PHP]Слежка за тем что выводит запущенный процесс в консоль
 
Здравствуйте. Заинтересовала меня следующая вещь. Можно ли как-то через PHP запустить wget, и при этом следить за всем что он выводит?
То есть запустил скачивать фильм например, и с помощью AJAXa на страчке постоянно обновляется то? что выводит wget (кол-во скачанных процентов, скорость)?

LStr1ke 15.12.2009 14:37

PHP код:

<?php
echo system("wget ...");
?>

Вывод можешь парсить и извращаться как хочешь )))

b3 15.12.2009 16:38

Проблема в том что результат ты не будеш получать порциями, это нужно внедрятся в сам процесс, а пыхе насколько знаю нет такой возможности.

Kuzya 15.12.2009 17:56

>> Проблема в том что результат ты не будеш получать порциями
Ага, вот с этим я и думаю как справится...Наверное придётся запускать wget с опцией ведения лога и из него как-то формировать отчёт в веб-часть.

Gifts 15.12.2009 19:21

Проблема не в порционности, а в асинхронности пхп. К примеру постепенный вывод wget'а (в приделах пхп) можно получать так:
PHP код:

$proc popen('wget http://some_url 2>&1','rb');
while (!
feof($proc))
{

    
$data=fgets($proc,100);
    
// \r нужно чтобы строка каждый раз затиралась
    
echo "\r".trim($data);

}
pclose($proc); 

Проблема только куда это записывать, чтобы аяксом считывать и скидывать в браузер. Например можно через файлы:
PHP код:

$i=0;
$proc popen('wget http://some_url 2>&1','rb');
// Открываем некоторый файл, в дальнейшем аяксом его читаем
$f fopen('test_popen.txt','wb');

while (!
feof($proc))
{
    for(
$j=0;$j<50;$j++) $data=fgets($proc);
    
fwrite($f"Line number:".($i++).' = '.trim($data).'                                       ');
    
fflush($f);rewind($f);
}
fclose($f);
pclose($proc); 

Тут не учтены гонки при чтении/записи.

Kuzya 16.12.2009 08:41

Gifts, большое спасибо! Именно то что нужно!


Время: 01:32