Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Upload nie działa dla dużych plików. Jak to zrobić
-Gość_Rafał-
post
Post #1





Goście







Witam,

1. Zrobiłem formularz do wysyłania plików graficznych na serwer i wszystko działa bez zarzutu. Chcę również wysyłać pliki binarne przy pomocy podobnego formularza i tu natrafiam na problem. Zauważyłem, że pliki powyżej 2 Mb nie zapisują się na serwerze, są transferowane to widać ale nie następuje ich finalny zapis w docelowym katalogu na serwerze. Nigdzie nie wyczytałem, że jest jakieś ograniczenie w wielkości przesyłanych przez formularz plików. Pomijam MAX_FILE_SIZE, który mam nieustawiony bo nie jest mi do niczego potrzebny - ja nie chcę ograniczać wielkości, wręcz przeciwnie ja chcę wysyłać pliki o rozmiarach do 5MB.

2. Próbowałem też ftp ale tutaj znowu pojawia się problem przy instrukcji ftp_put. Nie można przesłać pliku, tak jakby php nie potrafił rozpoznać ścieżki lokalnej do pliku. Ponizej fragment tego kodu:

  1. <?php
  2.  
  3. $remote = '/public_html/download/code_strukture.png';
  4. $local = &#092;"D:Moje dokumentysetup.exe\";
  5. $local = str_replace(&#092;"\", \"\", $local);
  6. $local = fopen(&#092;"$local\", \"rb\");
  7.  
  8. $c = ftp_connect('ftp.domena.com') or die(&#092;"Nie mogę się połączyć\");
  9. ftp_login($c, login, hasło) or die(&#092;"Nie mogę się zalogować\");
  10. ftp_put($c,$remote, $local, FTP_BINARY) or die(&#092;"Nie mogę przesłać pliku\"); 
  11. ftp_close($c) or die(&#092;"Nie mogę zamknąć\");
  12.  
  13. ?>


W wierszu 5 funkcji str_replace drugi parametr winien być "\\\\".
Proszę o pomoc (system lokalny to Windows).

Rafał
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


w php.ini:
upload_max_filesize = 2M


"D:\Moje dokumenty\setup.exe"

1. jesli backslashe ( \ ) dzialaja w php to musisz je tak zapisac: "D:\\Moje dokumenty\\setup.exe", 'D:\Moje dokumenty\setup.exe'

2. uzywaj slashy ( / )
Go to the top of the page
+Quote Post
-Gość_Rafał-
post
Post #3





Goście







Zrobiłem tak:
  1. <?php
  2.  
  3. $remote = '/public_html/download/setup.exe';
  4. $local = 'D:Instalkitestsetup.exe';
  5. $local = str_replace(&#092;"\", \"/\", $local);
  6.  
  7. $c = ftp_connect('ftp.domena.com') or die(&#092;"Nie mogę się połączyć\");
  8. ftp_login($c, 'login', 'hasło') or die(&#092;"Nie mogę się zalogować\");
  9. ftp_put($c,$remote, $local, FTP_BINARY) or die(&#092;"Nie mogę przesłać pliku\");
  10. ftp_close($c) or die(&#092;"Nie mogę zamknąć\");
  11.  
  12. ?>


Przy pliku poniżej 200 KB jest wporządku ale przy większym chwilę przesyła i otrzymuję w przeglądarce komunikat "Error 500". Co może być tego przyczyną?
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 18:34