Варианты загрузки больших файлов с использованием PHP - PullRequest
2 голосов
/ 20 апреля 2011

У меня всегда были проблемы с загрузкой больших файлов с помощью PHP.

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

или Есть ли лучший способ в php (с использованием swfupload и т. Д.) Управлять загрузкой больших файлов.

У вас есть идеи по этому поводу?

Спасибо, B2W 2011

Ответы [ 4 ]

1 голос
/ 20 апреля 2011

Существует 3 параметра конфигурации, которые влияют на загрузку файлов в php, все они в php.ini, и некоторые из них настраиваются во время выполнения.

Вы должны позаботиться о:

**max_input_time** its the time a script could invest in parsing the input
**file_uploads should** be set to on, it determines if uploads are allowed at all or not
**upload_max_filesize** is the maximum size for the uploaded files
**post_max_size** since uploads are inside POST requests, you should raise this value at least to the value you specified in upload_max_filesize

После изменения этих настроек в php.ini не забудьте перезапустить apache.

Также рекомендуется снять ограничение максимального времени выполнения с помощью:

set_time_limit (0); на уровне кода.

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

0 голосов
/ 20 апреля 2011

Насколько большой? Я считаю, что если файл слишком (сотни мегабайт), возможно, использовать службу, посвященную этому (S3 / DropBox и т. Д.)?

0 голосов
/ 20 апреля 2011

Perl - это интерпретируемый серверный язык, который работает поверх веб-сервера, так же как и PHP, переключение языков вряд ли что-либо изменит.

Есть ли лучший способ?Поскольку вы не говорите, что это за проблемы, мы не можем предложить способ их устранения; -)

0 голосов
/ 20 апреля 2011

Обычно, когда вы отключаете ограничение времени ожидания с помощью set_time_limit(0), оно не должно выдавать никаких ошибок.

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