Здравствуйте. Заинтересовала меня следующая вещь. Можно ли как-то через PHP запустить wget, и при этом следить за всем что он выводит? То есть запустил скачивать фильм например, и с помощью AJAXa на страчке постоянно обновляется то? что выводит wget (кол-во скачанных процентов, скорость)?
Проблема в том что результат ты не будеш получать порциями, это нужно внедрятся в сам процесс, а пыхе насколько знаю нет такой возможности.
>> Проблема в том что результат ты не будеш получать порциями Ага, вот с этим я и думаю как справится...Наверное придётся запускать wget с опцией ведения лога и из него как-то формировать отчёт в веб-часть.
Проблема не в порционности, а в асинхронности пхп. К примеру постепенный вывод 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); Тут не учтены гонки при чтении/записи.