Автор Тема: php max_file_size ^^2gb  (Прочетена 1076 пъти)

runtime

  • Напреднали
  • *****
  • Публикации: 807
  • Distribution: Ubuntu 14.04
  • Window Manager: Unity
  • LZ1DOT
    • Профил
    • WWW
php max_file_size ^^2gb
« -: Nov 14, 2010, 00:41 »
Има ли вариант на PHP да му се зададе да качва с файлове ^^2GB.
Като чета на max_file_size максимума е 2Gb, а ми трябва да се качват по 4.
Не, че не мога да го сътворя с флаш, но не ми се оправя 100 реда код. :)

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

borovaka

  • Напреднали
  • *****
  • Публикации: 1331
  • Distribution: Каквото дойде
  • Window Manager: Gnome / KDE
    • Профил
Re: php max_file_size ^^2gb
« Отговор #1 -: Nov 14, 2010, 02:09 »
Най-удачно според мен ще е да използваш ftp и да качваш файловете посредством php като използваш ftp сървъра.
Активен

Та извода е прост: "Колкото по-големи ла*ната - толкова по-малка щетата! ... моралната де, не материалната"

n00b

  • Напреднали
  • *****
  • Публикации: 1248
  • Distribution: OSX
  • Window Manager: 10.6, 10.8, 10.9
  • Live to hack, hack to live.
    • Профил
Re: php max_file_size ^^2gb
« Отговор #2 -: Nov 14, 2010, 04:13 »
Абе ако си пачнеш това-онова и би могъл.

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

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

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

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

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

mobilio - професионални мобилни приложения

Naka

  • Напреднали
  • *****
  • Публикации: 3469
    • Профил
Re: php max_file_size ^^2gb
« Отговор #3 -: 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. Засега и аз съм ударил на камък с големината на файловете и памметта. :'(
« Последна редакция: Nov 14, 2010, 15:15 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

n00b

  • Напреднали
  • *****
  • Публикации: 1248
  • Distribution: OSX
  • Window Manager: 10.6, 10.8, 10.9
  • Live to hack, hack to live.
    • Профил
Re: php max_file_size ^^2gb
« Отговор #4 -: Nov 14, 2010, 15:33 »
Да поддържа се ако има WebDAV. Иначе PUT e "лоша" команда.
Активен

mobilio - професионални мобилни приложения

runtime

  • Напреднали
  • *****
  • Публикации: 807
  • Distribution: Ubuntu 14.04
  • Window Manager: Unity
  • LZ1DOT
    • Профил
    • WWW
Re: php max_file_size ^^2gb
« Отговор #5 -: Nov 14, 2010, 19:24 »
Идеята е, че сайта е клипчета за радиолюбители ( съдтезания, конференции, мероприятия и др. ) и всеки е свободен да качва, както и Live Stream на видео със RED5 и флаш.  Файлчетата се конвертират във flv. Май най-безболезнено ще ми е да ги направя да качват парчета от по 2 Гб, ако са големи, които така или иначе после се конвертират и само ще добавя опция да ги събира. Много рядко попадат клипчета по-големи от 2 Гб, но има, а трудно се обяснява на всеки как да ги компресира с определени кодеци... Идеята ми е да напиша едно софтуерче, което да ги цепи на парчета от по 2Гб, които да качват и след това да се събират в 1 от mencoder-a.

Благодаря за информацията все пак!
« Последна редакция: Nov 14, 2010, 19:41 от runtime »
Активен

Naka

  • Напреднали
  • *****
  • Публикации: 3469
    • Профил
Re: php max_file_size ^^2gb
« Отговор #6 -: Nov 14, 2010, 20:06 »
от страна на браузера аз ползвам това http://jupload.biz/
това е Java апплет дето замества стандартната форма за ъплоад на файлове. там е описано как се обработват файловете с php script от страна на сървера.

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

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

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

« Последна редакция: Nov 14, 2010, 20:09 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.