Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Upload b. dużych plików
Bakus
post 14.12.2003, 06:08:52
Post #1


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

Ostrzeżenie: (0%)
-----


W jaki sposób pobrać na serwer plik, który ma ~100 MB?
Dodam tylko, że MUSI się to odbywać przez stronę WWW! Niestety niema innej możliwości...
Poradzicie coś?

Ja zastanawiałem się nad uploadem przez php, ale jakie jest zużycie pamięci przy takiej operacji i w jaki sposób zmienić wielkość pobieranego pliku tylko dla jednego katalogu?

Mam co prawda Apache2, ale nie chciałbym stosować VirtualHostów...i tak mam już ich troszkę...


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post
Paul
post 14.12.2003, 10:16:25
Post #2





Grupa: Zarejestrowani
Postów: 636
Pomógł: 0
Dołączył: 22.10.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


W php.ini masz domyslnie:
Kod
upload_max_filesize = 2M

Wystarczy zmienic i po sprawie - to jest ogolnie smile.gif...
A do jednego katalogu to musisz sie pobawic ifami... np:

[php:1:299ed842f9]<?php
$folder_docelowy = 'img/';
for($i=0; $i < count($_FILES['upload']['tmp_name'];$i++){
if($folder_docelowy == 'img/' && $_FILES['upload']['size'][$i] < 2000000){
move_uploaded_file($_FILES['upload']['tmp_name'][$i], $folder_docelowy.$_FILES['upload']['name'][$i]);
}else{
echo 'za duzy';
}
}
?>[/php:1:299ed842f9]
Go to the top of the page
+Quote Post
enceladus
post 14.12.2003, 11:39:40
Post #3





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 19.11.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
Ja zastanawiałem się nad uploadem przez php, ale jakie jest zużycie pamięci przy takiej operacji i w jaki sposób zmienić wielkość pobieranego pliku tylko dla jednego katalogu?

Pewnie wpłynie sad.gif
Poczytaj o czymś co nazywa się WebDAV (http://www.webdav.org) to jest metoda na m.in. przesyłanie plików przez HTTP. W konkretnej implementacji może zainteresować Cię pewnie Slide z projektu Jakarta (http://jakarta.apache.org/slide/index.html) - możesz np. stworzyć aplet w Javie który działając na przeglądarce będzie wysyłał pliki na serwer. Pytanie tylko jak często taki upload będzie miał miejsce ? Jeśli masowo to poczytaj o slide jesli raz na jakiś czas to chyba upload w php wystarczy. Przyznam że nie testowałem tego na tak dużych plikach.. ale zobaczyć zawsze można. Napisz coś więcej jeśli zdecydujesz się na php i zrobisz testy. smile.gif


--------------------
Enceladus
Warsztat: bez warsztatu
Aktua
Go to the top of the page
+Quote Post
spenalzo
post 14.12.2003, 15:32:43
Post #4





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Hmm a czy nie lepiej postawić serwer FTP?? Jeżeli przerwiesz upload, to będziesz mogł bez problemu kontynuować, poza tym nie obciąża tak pamięci jak załadowanie dużego pliku. Nie wydaje mi się, żeby zwiększenia limitu pliku i tak przyjał taki rozmiar...
Ja zrobiłem sobie serwer FTP i ejstem zadowolony. Zawsze możesz z poziomu php sprawdzić,czy plik już jest.


--------------------

Go to the top of the page
+Quote Post
Bakus
post 14.12.2003, 18:05:58
Post #5


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

Ostrzeżenie: (0%)
-----


Skrypt będzie działał tylko w sieci lokalnej...
Zastanawiam się jeszcze nad napisaniem klienta FTP w PHPGTK, ale puki co się jeszcze z tym wstrzymuje...
Wiązało by się to z koniecznością instalowania interpretera PHPGTK na wszystkich kompach, które miałyby obsługiwać wspomnianą funkcję...

P.S. WebDAV działa tylko (win32) dla Apache 1.3 (mod_dav)


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post
spenalzo
post 14.12.2003, 18:08:38
Post #6





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


No to FTP... Nie wymaga żadnych dodatkowych rzeczy na innych kompach - a na każdym znajdziesie jakiś klient FTP. Polecam serwer Bulletproof FTP - mam i działa ładnie, nawet na starym kompie.


--------------------

Go to the top of the page
+Quote Post
Bakus
post 14.12.2003, 18:35:08
Post #7


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

Ostrzeżenie: (0%)
-----


Cytat
Polecam serwer Bulletproof FTP - mam i działa ładnie, nawet na starym kompie.

Czyżbyś co 30 dni ponownie go instalował... to jest TRIAL... no chyba, że kupiłeś licencję... winksmiley.jpg

P.S. Ja korzystam z CesarFTP - bezpłatny, w miarę szybki i co najważniejsze działa...


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post
spenalzo
post 14.12.2003, 18:50:59
Post #8





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
Czyżbyś co 30 dni ponownie go instalował... to jest TRIAL... no chyba, że kupiłeś licencję... winksmiley.jpg

Ja go potrzebowałem przez pewien czas - teraz już nie... tongue.gif


--------------------

Go to the top of the page
+Quote Post
adwol
post 14.12.2003, 19:16:26
Post #9





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Jeśli masz dostęp do php w wersji CLI, możesz sam obsłuzyć pliki wysyłane przez POST. Skrypt CGI otrzymuje je w postaci MIME-owej na standardowe wejście, więc nie ma problemu z ich parsowaniem i obsługą.

enceladus: WebDAV to protokół zdalnego dostępu do plików przez HTTP. Do ściągania/wysyłania plików wystarczy sam goły protokół HTTP. Podobnie Java w tym miejscu jest przesadą.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 15:24