Статус загрузки с PHP и JavaScript - PullRequest
2 голосов
/ 12 февраля 2012

В настоящее время я ищу способ отображения статуса загрузки файла на странице. Я знаю, что в этом нет необходимости, поскольку пользователь обычно имеет статус загрузки в браузере, но я хотел бы сохранить пользователя на странице, с которой он загружает, до тех пор, пока загрузка продолжается. Для этого состояние загрузки должно соответствовать состоянию, которое фактически имеет файл (не поддельная панель программ). Возможно, он также отобразит скорость, с которой загружается пользователь, и оценит время, которое потребуется, в зависимости от текущей скорости загрузки.

Можно ли это сделать с помощью PHP и Javascript? Или это действительно требует Flash или Java?

Не должно ли где-то на Сервере быть информация о том, кто что скачивает, с какой скоростью и сколько?

Заранее благодарю за помощь.

Ответы [ 2 ]

2 голосов
/ 12 февраля 2012

Не совсем возможно кросс-браузер, но посмотрите на http://markmail.org/message/kmrpk7w3h56tidxs#query:jquery%20ajax%20download%20progress+page:1+mid:kmrpk7w3h56tidxs+state:results для довольно внимательного усилия. IE (как обычно) является основным виновником не игры в мяч.

0 голосов
/ 12 февраля 2012

Вы можете сделать это с двумя отдельными файлами php, первый файл для процесса загрузки.Например:

$strtTime=time();
$download_rate=120;   //downloading rate  
    $fp = fopen($real, "r");
      flush();// Flush headers
    while (!feof($fp)) {   
     $downloaded=round($download_rate * 1024);
        echo fread($fp,$downloaded );
        ob_flush();
       flush(); 
        if (connection_aborted ()) {

     // unlink("yourtempFile.txt" ;
            exit;
        }

     $totalDw +=$downloaded;
     // file_put_contents("yourtempFile.txt", "downloaded: $totalDw ; StartTime:$strtTime");
          sleep(1);
    }
    fclose($fp);
   // unlink("yourtempFile.txt") ;

Второй файл будет использоваться для чтения yourtempFile.txt Ajax непрерывно.Использование сеансов и файлов cookie не будет использоваться из-за начала печати. ​​

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...