Полоса загрузки файла

Статус
В этой теме нельзя размещать новые ответы.

phillip

Полезный
Регистрация
4 Сен 2007
Сообщения
411
Реакции
15
Помогите, пожалуйста. У меня есть такой кусок кода. Суть которого в том чтобы видеофайл скачать себе на сервак через курл, и назвать рендомным именем с расширением .flv
Задача- сделать отображение процесса скачивания. То есть полоску загрузки. Статусбар, или как это называется. хз
Код:
$curl = curl_init($finish_url_for_download);   
curl_setopt($curl, CURLOPT_USERAGENT, 'Boroda/2.0 J2ME/MIDP');  
$newfilename= mt_rand(10000, 1000000).'.flv';  
$new_file_location='bases/videoz/'.$newfilename;  
$fp =fopen($new_file_location,'w+b');   
curl_setopt($curl, CURLOPT_FILE, $fp);
curl_exec($curl);   
curl_close($curl);   
fclose($fp);


---------- Post added at 16:13 ---------- Previous post was at 14:53 ----------

Подсказали мне, что надо иметь расширение для апача, чтобы во время загрузки файла можно было сделать прогресс бар. А курл якобы может только по завершению работы выдать информацию. Может быть кто-то знает подобное расширение?
 
можно попробовать следующее:
размер исходного файла тебе известен, и в процессе загрузки файла узнавай каждую секунду к файлу и проверяй его размер(можно и ajax попробовать), и пощитай и выводи процент закачки...
Хотя, это дополнительная нагрузка на сервер и канал, и я рекомендую ничего не делать пока файл качается, только когда закался вывести отчет
 
Можно просто js выводить новые значения прямо в браузер.
например есть js функция
function setValue(var1, var2) {..};
которая устанавливает размер закаченного и скорость закачки.

В скрипте отключаем буфферизацию.
данные вычисляем все значения и на каждой итерации делаем
print('<script>setValue('123', '25');</script>');

и все, вот вам статус-бар, не нагружающий серв и жрущий минимальное кол-во траффика.

по такому принципу работают супекс дампер и рапидгет.
 
Расширение uploadprogress, скачать можно тут
Логика там простая, делать запрос через ajax и отдавать в нем идентификатор файла, а на стороне php вызывать функцию из uploadprogress, которая будет возвращать информацию о объеме загруженного файла и через ajax возвращать это значение.

Так же почитай _http://habrahabr.ru/blogs/webdev/17620/
способ с помощью другого расширения для php.
 
а можно использовать AJAX скрипт для закачки файлов на сервер.

7thjun0802.jpg


Этот скрипт предназначен для создания возможности закачки одного или нескольких фалов на сервер. Причем вся операция происходит в формате AJAX, а значит без перезагрузки страницы. Во время самой загрузки файлов вы можете наблюдать за текущим состоянием процесса по шкале с двумя "градусниками". Верхний "градусник" указывает на состояние загрузки какого либо конкретного файла, а нижний информирует о состоянии загрузки, в общем. Скрипт будет нормально работать с такими браузерами как Internet Explorer 6+, Opera 9, Firefox 1.5 и Safari 2 и выше.

 
2 m0nsieur, shmitacc: автору вроде нужен download, а не upload.
 
2 m0nsieur, shmitacc: автору вроде нужен download, а не upload.

Этот скрипт предназначен для создания возможности закачки одного или нескольких фалов на сервер - это upload

автор пишет :

"Суть которого в том чтобы видеофайл скачать себе на сервак" - это Upload
 
Upload - процесс передачи данных от клиента (программы) к серверу (программе), а в данном случае сервер (компьютер) выступает в роли клиента.

Проще: ему (серверу) нужно скачать файл, а не выгрузить
 
Простыми средствами php такое не решить.
Нужен сторонний модуль ну хотяб на perl'e (видел где-то такие решения).
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху