Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wysyłanie dużych plików na serwer
Wielebny.pl
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 1.06.2010

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


Potrzebuje aby na serwer user miał możliwość wysyłania dużych plików ale nie większych niż 200 MB
Utworzyłem sobie taki kodzik:
  1. <?php $up=210000000?>
  2.  
  3. echo('<div>
  4. <Center>
  5. <z>Wysyłanie pliku </z>
  6. <form enctype="multipart/form-data" action="index.php?up" method="post">
  7. <input type="text" name="MAX_FILE_SIZE" value="'.$up.'" align="middle"><br><br>
  8. Załaduj ten plik: <input name="userfile" type="file" size="50" align="middle"><br>
  9. <input type="submit" value="Wyślij" align="right">
  10. </form>
  11. </Center>
  12. </div>')


zaś na drugim formularzu z kodem php jak na początek prosta sprawę mam:
  1. echo ('Wysyłanie proszę czekać.');
  2. if ($_FILES['userfile']['size'] > $_POST['MAX_FILE_SIZE'])
  3. {
  4. message_box('Rozmiar pliku przekroczył wartość graniczną !','box','red');
  5. }
  6. else
  7. message_box('Wielkość pliku ok.','bigbox','blue');

message_boxy to są moje komunikaty.
tak wiec na plikach małych nie ma żadnego problemu wszystko działa choć jak zrobię wyślij to mieli dysk mieli mieli i mieli.
Ale na za dużym pliku na 700 mb zwraca mi komunikat:
Wysyłanie proszę czekać.
Notice: Undefined index: userfile in /var/www/serwis/upload_file/upload_file_action.php on line 20

Notice: Undefined index: MAX_FILE_SIZE in /var/www/serwis/upload_file/upload_file_action.php on line 20
Wielkość pliku ok.

I tu moje pytanie? Dlaczemu tak się dzieje i nie rejestruje w tablicy file? Czy można zrobić tak aby user miał napis WYSYŁANIE i wtedy jakaś akcja się tam podejmowała bo teraz po naciśnięciu wyślij to nic nie na ekranie nie zmienia aż dysk nie przestanie mielić.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
emtiej
post
Post #2





Grupa: Zarejestrowani
Postów: 207
Pomógł: 18
Dołączył: 12.04.2009
Skąd: Rypin

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


musisz w php.ini tak jak wyżej Wielebny napisał zwiększyć wielkość maksymalną wysyłanego pliku, ale także zwiększyć maksymalny czas wykonywania skryptu(na bardzo długo, około godziny)
Wysyłanie dużych plików formularzem za pomocą PHP nie jest dobrym pomysłem. Do takich rzeczy lepszy jest JavaScript, albo Ajax, który dzieli plik na party i te party przekazuje do PHP, na żadnych hostingu dostawca nie ma ustawionego maksymalnego czasu wykonywania skryptu na godzinę i maksymalnej wielkości wysyłanego pliku na ponad 200mb (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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: 5.04.2026 - 13:38