Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: runtime в Nov 14, 2010, 00:41



Титла: php max_file_size ^^2gb
Публикувано от: runtime в Nov 14, 2010, 00:41
Има ли вариант на PHP да му се зададе да качва с файлове ^^2GB.
Като чета на max_file_size максимума е 2Gb, а ми трябва да се качват по 4.
Не, че не мога да го сътворя с флаш, но не ми се оправя 100 реда код. :)

Та не съм търсил решение из търсачките все още, а ако има моля, да го споделите... за да си улесня животеца малко :)


Титла: Re: php max_file_size ^^2gb
Публикувано от: borovaka в Nov 14, 2010, 02:09
Най-удачно според мен ще е да използваш ftp и да качваш файловете посредством php като използваш ftp сървъра.


Титла: Re: php max_file_size ^^2gb
Публикувано от: n00b в Nov 14, 2010, 04:13
Абе ако си пачнеш това-онова и би могъл.

ОБАЧЕ проблема е че всичко това се тъпче в RAM паметта докато и последния байт от post заявката не дойде и тогава се обработва.

Както сам разбираш това означава 64 битово PHP и наличие на гигантско количество рам (и swap). Също така post заявката не позволява продължаване при скъсване (т.е. скъсаш ли конекцията трябва да почнеш всичко отначало).

Отделно браузъра и той трябва да подготви заявката (като един гигантски стринг) т.е. пак в паметта.

За да бъде хаоса пълен освен 64 битова поддръжка трябва да използват ЗАДЪЛЖИТЕЛНО и 64 битова адресация на файловете (LFP).

Затова са го фиксирали на 2Гб. По-просто... ако се налага нещо повечко просто сменяш протокола...


Титла: Re: php max_file_size ^^2gb
Публикувано от: Naka в Nov 14, 2010, 15:05
Цитат
ОБАЧЕ проблема е че всичко това се тъпче в RAM паметта докато и последния байт от post заявката не дойде и тогава се обработва.

Освен GET/POST има и PUT метод.
http://www.apacheweek.com/features/put
http://www.php.net/manual/en/features.file-upload.put-method.php

Не съм се занимавал със PUT но знам, че подържа резюме. От страна на сервера пак може да е php скрипт. Може да се окаже че при put няма да има ограничение в паметта и големината на файловете.

Незнам и доколко PUT се подържа от браузерите, но ако имах време със сигурност щях да опитам как става с PUT. Засега и аз съм ударил на камък с големината на файловете и памметта. :'(


Титла: Re: php max_file_size ^^2gb
Публикувано от: n00b в Nov 14, 2010, 15:33
Да поддържа се ако има WebDAV. Иначе PUT e "лоша" команда.


Титла: Re: php max_file_size ^^2gb
Публикувано от: runtime в Nov 14, 2010, 19:24
Идеята е, че сайта е клипчета за радиолюбители ( съдтезания, конференции, мероприятия и др. ) и всеки е свободен да качва, както и Live Stream на видео със RED5 и флаш.  Файлчетата се конвертират във flv. Май най-безболезнено ще ми е да ги направя да качват парчета от по 2 Гб, ако са големи, които така или иначе после се конвертират и само ще добавя опция да ги събира. Много рядко попадат клипчета по-големи от 2 Гб, но има, а трудно се обяснява на всеки как да ги компресира с определени кодеци... Идеята ми е да напиша едно софтуерче, което да ги цепи на парчета от по 2Гб, които да качват и след това да се събират в 1 от mencoder-a.

Благодаря за информацията все пак!


Титла: Re: php max_file_size ^^2gb
Публикувано от: Naka в Nov 14, 2010, 20:06
от страна на браузера аз ползвам това http://jupload.biz/
това е Java апплет дето замества стандартната форма за ъплоад на файлове. там е описано как се обработват файловете с php script от страна на сървера.

Наистина проблема е огромен при POST, защото както каза n00b всичката оперативна памет - 2GB се заема само от един скрипт и то за един upload.

Освен Java апплети за upload има вече и разни флаш решения. Мисълта ми беше че ако се използва нещо такова (по гъвкаво) решение като Java/Флаш (от страна на браузера) то може да се оптимизира upload-а.

Ама много писане е [_]3