Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Upload b. dużych plików
Forum PHP.pl > Forum > Serwery WWW
Bakus
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ę...
Paul
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]
enceladus
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
spenalzo
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.
Bakus
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)
spenalzo
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.
Bakus
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...
spenalzo
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
adwol
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ą.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.