Цель : создать индикатор выполнения, чтобы пользователи могли проверить, сколько файлов было загружено моим сервером.
Сценарий : У меня есть скрипт PHP, который выполняет скрипт Python через popen. Я сделал это так:
$handle = popen('python last', 'r');
$read = fread($handle, 4096);
pclose($handle);
Этот скрипт Python выводит в оболочку что-то вроде этого:
[last] ZVZX-W3vo9I: Downloading video webpage
[last] ZVZX-W3vo9I: Extracting video information
[download] Destination: myvideo.flv
[download] 9.9% of 10.09M at 3.30M/s ETA 00:02
Проблема : Когда я читаю в файле, сгенерированном выводом оболочки, я получаю весь вывод оболочки, кроме последней строки !? ПОЧЕМУ?
Просто добавим, что когда я запускаю команду через оболочку, курсор в конце оболочки появляется в конце этой строки и ожидает завершения сценария.
Спасибо всем