Большие загрузки файлов с веб-страниц - PullRequest
1 голос
/ 28 апреля 2010

Я кодирую в основном на PHP и Perl. У меня есть клиент, который настаивает на поиске видео-материалов (любой кодировки) у общественности через одну из своих страниц, а не позволяет YouTube выполнять свою работу.

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

Моя первоначальная мысль - использовать загрузчик на основе Flash с PHP на заднем плане, но я подумал, может ли кто-нибудь иметь полезные советы и опыт по этому вопросу?

Ответы [ 7 ]

2 голосов
/ 28 апреля 2010

Передача больших файлов по HTTP обычно не доставляет удовольствия, но иногда это необходимо.

Для больших файлов вы определенно захотите предоставить какой-то индикатор прогресса для конечных пользователей.

Существуют инструменты на основе флэш-памяти, которые делают это ( swfUpload приходит на ум).

Если вы хотите избежать флеш-памяти и сделать это с помощью симпатичного html / javascript / css, вы можете использовать расширение APC PHP, которое по некоторым причинам обеспечивает поддержку для получения статуса загрузки с сервера, , как описано здесь

2 голосов
/ 28 апреля 2010

Вы можете настроить размер сообщения и использовать обычную HTML-форму. Большая проблема не в Apache, а в его http. Если что-нибудь пойдет не так в передаче, вы не сможете обнаружить ошибку. Далее больше нет возможности возобновить перевод. Именно поэтому BitTorrent так популярен.

1 голос
/ 28 апреля 2010

Я использовал jupload . Да, это выглядит ужасно, но это просто работает.

С учетом вышесказанного все же лучше идея убедить клиента в том, что это глупо.

1 голос
/ 28 апреля 2010

Попробуйте убедить вашего клиента изменить точку зрения.

Использование http (и браузера, ада, браузера!) Для такого рода проблем редко бывает выгодным; Будут ли его пользователи ждать 40 минут с запущенным компьютером и браузером, пока загрузка не будет завершена?

Я так не думаю.

Возможно, вы могли бы создать общедоступную учетную запись ftp, где пользователи могут загружать, но не загружать и видеть файлы других пользователей ... затем, кто хочет использовать программное обеспечение FTP, может, кто любит делать это через браузер.

Большая проблема, связанная с использованием браузера, заключается в том, что, если что-то пойдет не так, вы не можете возобновить , но вам придется снова начинать с нуля.

В прошлом году у меня была такая же проблема, я посмотрел на ZUpload , но я не использовал его, поэтому могу предложить (мы написали небольшой скрипт на python, который отправляем нашему клиенту; скрипт python создает поток папки, которую наш клиент должен отправить нам, и мы скачиваем его через utorrent;)

p.s: опять извините за мой плохой английский;)

1 голос
/ 28 апреля 2010

Для загрузки через Интернет вариантов не так много. Независимо от веб-платформы, веб-сервера и т. Д. Вы все еще передаете по HTTP. Передача - все или ничего.

Наилучшим вариантом может быть поиск Flash, Java или другой клиентской опции, которая может разбивать файлы на части и загружать их по частям, а затем проверять контрольную сумму. Это позволит возобновить загрузку. К сожалению, я не знаю ни одного такого компонента с открытым исходным кодом, который делает это.

1 голос
/ 28 апреля 2010

Я не знаю, как против youtube ваш клиент, но вы можете использовать их API для загрузки со страницы на вашем сайте. http://code.google.com/apis/youtube/2.0/developers_guide_protocol.html#Uploading_Videos

См .: загрузка через браузер.

0 голосов
/ 17 января 2014

Я бы согласился с тем, что использование HTML - плохой вариант. Я считаю, что использование Flash также ограничивает размер. Я знаю сценарий, который использует апплет JavaScript для выполнения фактической передачи по FTP. Он называется Simple2FTP и может быть найден в http://www.simple2ftp.com

Не уверен, но, возможно, стоит попробовать?

...