Autor Subiect: Upload fişiere uriaşe via HTTP  (Citit de 8592 ori)

Zbenga

  • Membru
  • ***
  • Mesaje postate: 176
  • Karma: +0/-2
    • Vezi Profilul
    • Web Systems Engineering
Upload fişiere uriaşe via HTTP
« : August 25, 2008, 12:19:44 pm »
Salut,

Mă străduiesc să urc fişiere mari pe server, via HTTP form. Fişierele au în jur de 500- 1000 MB.

Aş dori să ştiu dacă a încercat cineva să implementeze vre-un fel de uploader pentru fişiere de dimensiuni mari.

Am încercat via PHP:

- dezactivează time limit script execution time
- creşte valoarea pentru POST accepted max size
- creste valoarea pentru max upload size.

Problema este legată de utilizarea RAM-ului de pe serverul respectiv. Ştie cineva o reţetă de succes? (poate PERL)

Andrei G.

  • Membru
  • ***
  • Mesaje postate: 250
  • Karma: +3/-42
    • Vezi Profilul
Răspuns: Upload fişiere uriaşe via HTTP
« Răspuns #1 : August 25, 2008, 04:05:42 pm »
ftp

Zbenga

  • Membru
  • ***
  • Mesaje postate: 176
  • Karma: +0/-2
    • Vezi Profilul
    • Web Systems Engineering
Răspuns: Upload fişiere uriaşe via HTTP
« Răspuns #2 : August 25, 2008, 05:58:27 pm »
via HTTP form

dt

  • Moderator
  • Hostmaster
  • *****
  • Mesaje postate: 1417
  • Karma: +8/-5
    • Vezi Profilul
    • http://www.webdev.ro
Răspuns: Upload fişiere uriaşe via HTTP
« Răspuns #3 : August 25, 2008, 07:50:57 pm »
exista mai multe solurii: applet-uri java, obiecte flash, module pt php, webdav.

MYOTIS

  • Vizitator
Răspuns: Upload fişiere uriaşe via HTTP
« Răspuns #4 : August 26, 2008, 12:57:39 pm »
Vezi Mega Upload (free, open source, project on sourceforge.net):

http://www.raditha.com/megaupload/perl.php

Ai si progress bar si multiple file upload...

Din pacate in PHP (fara Perl sau altele) singura metoda prin care ai putea face upload cu progress bar si fara sa-ti pese de limitari ar fi sa ai client side un Flash sau un aplet java care sa trimita scriptului bucati din fisier pe rind si PHP-ul sa adauge datele la sfirsitul fisierului pe masura ce le primeste. Ceea ce e o solutie destul de complicata si depinzi de client la greu (daca are instalat flash sau java etc). Daca incerci in real life sa pui in practica treaba asta vei realiza rapid ca ti-ar trebui si o sesiune, o baza de date unde sa ti evidenta fisierelor care se incarca + eventual drepturi de acces/limitari bazate pe username/parola.
« Ultima Modificare: August 26, 2008, 01:02:53 pm de alopia »

MYOTIS

  • Vizitator
Răspuns: Upload fişiere uriaşe via HTTP
« Răspuns #5 : August 26, 2008, 01:09:25 pm »
Ah si da module php, webdav cum zice dt. Dar daca e vorba de un cont de gazduire shared de obicei ies din discutie...

« Ultima Modificare: August 26, 2008, 01:12:20 pm de alopia »

dt

  • Moderator
  • Hostmaster
  • *****
  • Mesaje postate: 1417
  • Karma: +8/-5
    • Vezi Profilul
    • http://www.webdev.ro
Răspuns: Upload fişiere uriaşe via HTTP
« Răspuns #6 : August 26, 2008, 10:04:16 pm »
Ah si da module php, webdav cum zice dt. Dar daca e vorba de un cont de gazduire shared de obicei ies din discutie...

Nu, nu .. webdav e un protocol care extinde http-ul. Culmea e ca se poate activa in cPanel (extensiile frontpage il folosesc). Avantajul ar fi ca nu necesita un client separat pe Windows. Nu e cea mai buna solutie.
http://en.wikipedia.org/wiki/WebDAV

Stiam ca exista module pt php. Am gasit ceva aici: http://www.phpriot.com/articles/php-ajax-file-uploads/3
Poate mai sunt si altele. De obicei nu sunt disponibile pentru share-hosting.