[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа с большими файлами
Ron
Всем привет!

Необходимо загружать на сервер большие файлы. Например фильмы. Грамотно ли будет просто увеличить в конфигах максимальный размер загружаемого файла? Или существуют принципиально другие способы загрузки?

Но самое главное как потом фильмы отдавать клиенту с проверкой прав. То есть может пользователь скачать файл или нет. С маленькими все понятно, просто отдавать их прямо из PHP с комплектом заголовков и функцией readfile(); Опять же, как быть с большими? Наверное неочень хорошо, если через php прогонять по 700-800 мб.

Какие есть идеи?
Спасибо
vagrand
Цитата
Грамотно ли будет просто увеличить в конфигах максимальный размер загружаемого файла?


Увеличить размер все равно придется, но так же нужно будет добавить аплоадер, с прогресс баром, например http://www.uploadify.com/

Цитата
С маленькими все понятно, просто отдавать их прямо из PHP с комплектом заголовков и функцией readfile();


Большие файлы можете отдавать таким же способом, потому как:

Цитата
readfile() сама по себе не приводит к каким-либо проблемам с памятью, даже при отправке больших файлов. При возникновении ошибки превышения памяти убедитесь, что буферизация вывода отключена с помощью ob_get_level().

Почитайте: http://php.net/manual/ru/function.readfile.php

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



_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Ron
vagrand, спасибо за ответ. То есть резюмируя, вы считаете, что классическая схема с некоторыми исправлениями конфигов вполне подойдет.

Нет, стримов не предполагается. Задача засекьюрить файлы, чтобы нельзя было делиться ссылками - один чел покупет, а еще 100 пользуются бесплатно.

Цитата (vagrand @ 8.09.2015 - 08:27)
но так же нужно будет добавить аплоадер, с прогресс баром

Ну это уже мелочи. Главное стратегия.
vagrand
Цитата
То есть резюмируя, вы считаете, что классическая схема с некоторыми исправлениями конфигов вполне подойдет.


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

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.