2011-08-17 1 views
0

Я собираюсьКак переместить индикатор выполнения scp с помощью ajax/php?

  • инициируют скачать (УПП [email protected]/tmp/file/резервного копирования /) из веб-браузера
  • Ajax (может быть JQuery) запрос на веб-сервер (SuSE)
  • где PHP будет выполнить команду Scp

есть ли способ, чтобы пользователь мог видеть ПКПП д собственный браузер в браузере?

ответ

3

Не без большого количества беспорядков.

Из верхней части головы вы можете перенаправить вывод SCP в файл, а затем запросить AJAX скрипту, который анализирует этот файл, и когда появится новая строка (при условии, что scp увеличивается, это индикатор выполнения путем разделения строк с \ r) PHP-скрипт каким-то образом выходит из строя, который инструктирует браузер увеличивать его индикатор выполнения, затем снова запускает процесс AJAX ... и так далее, пока scp не завершится.

Я делал такие вещи, как это раньше, и я бы сказал, что это не стоит огромных усилий для такого маленького тонкостей - если вы не чувствуете, что вы не достаточно, чтобы сделать уже ...

Было бы гораздо проще делать такие вещи, как если бы браузеры позволяли вам читать ajax.responseText до ajax.readyState == 4, но они этого не делают, поэтому нет.

EDIT

Просто подумал об альтернативном подходе к этому, что может быть проще в некоторых отношениях, но более трудным в других:

Если поместить индикатор в вам не нужно будет чтобы иметь огромное количество вызовов AJAX, и вы могли бы все это сделать с помощью javascript, нажимая на сервер, но вам понадобится веб-сервер, который поддерживает это, и несколько полагается на браузер, который будет обрабатывать настройку разумно.