Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Upload na serwer
Mefiuu
post 9.03.2011, 21:08:28
Post #1





Grupa: Zarejestrowani
Postów: 371
Pomógł: 18
Dołączył: 23.11.2008

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


Witam. Zrealizowałem sobie upload plików na serwer i początkowo miałem tam pole MAX_FILE_SIZE ustawiony na 6MB. Ale zaczęły się dziać cuda, tj. przy wrzucaniu archiwum ok 2MB i więcej u jednych wyskakuje że przekroczono 6MB a u mnie nic nie pokazuje niestety. Ciężko jest mi zlokalizować błąd. Oto kod:

  1. if ($_SESSION['logged'] == 1) {
  2. if (isset($_POST['wyslij'])) {
  3. if (!empty($opis) && !empty($typ)) {
  4. if($_FILES['plik']['error']>0) {
  5. echo "Wystąpił problem: ";
  6. switch($_FILES['plik']['error']) {
  7. case 1: echo "rozmiar pliku przekroczył wartość 6MB.<br /><a href='java script:history.back(1)'>Wróć</a>"; break;
  8. case 2: echo "rozmiar pliku przekroczył wartość 6MB.<br /><a href='java script:history.back(1)'>Wróć</a>"; break;
  9. case 3: echo "plik wysłany częściowo.<br /><a href='java script:history.back(1)'>Wróć</a>"; break;
  10. case 4: echo "nie wysłano żadnego pliku.<br /><a href='java script:history.back(1)'>Wróć</a>"; break;
  11. case 6: echo "nie można wysłać pliku: nie wskazano katalogu tymczasowego.<br /><a href='java script:history.back(1)'>Wróć</a>"; break;
  12. case 7: echo "nie zapisano pliku na dysku.<br /><a href='java script:history.back(1)'>Wróć</a>"; break;
  13. }
  14. }
  15.  
  16. if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
  17. if(!file_exists('files/'.$_FILES['plik']['name'])) {
  18. if(move_uploaded_file($_FILES['plik']['tmp_name'], 'files/'.$_FILES['plik']['name'])) {
  19. if(mysql_query("INSERT INTO download VALUES('', '$rodzaj', '$rozszerzenie', '$autor', '$data', '$rozmiar', '$opis', '0', '$name', '$typ')")) {
  20. echo "Dodano plik pomyślnie.<br />";
  21. echo "<a href='upload.php'>Wróć</a>";
  22. mysql_query("UPDATE login SET uploaded=uploaded+1 WHERE name='".$_SESSION['login']."'");
  23. addLog("<b>".$_SESSION['login']."</b> wrzucił plik", "-", "wrzucil");
  24. }
  25. }
  26. else {
  27. echo "Nie dodano! Spróbuj jeszcze raz.<br />";
  28. echo "<a href='java script:history.back(1)'>Wróć</a>";
  29. }
  30. }
  31. else {
  32. echo "Taki plik już istnieje.<br />";
  33. echo "<a href='java script:history.back(1)'>Wróć</a>";
  34. }
  35. }
  36. }



Wszystko działa w porządku oprócz tej wielkości pliku. Co może być błędem? Dodam, że pole MAX_FILE_SIZE usunąłem. Dziękuję za pomoc.
Go to the top of the page
+Quote Post
ciekawskiii
post 10.03.2011, 07:20:10
Post #2





Grupa: Zarejestrowani
Postów: 467
Pomógł: 39
Dołączył: 7.11.2010
Skąd: Raz tu, raz tam

Ostrzeżenie: (30%)
XX---


Uzyj
  1. $_FILES['plik']['size']
i w ten sposob sprawdzaj wielkosc (po co masz dwa razy info o przekroczeniu 6mb?)


--------------------
Go to the top of the page
+Quote Post
Mefiuu
post 14.03.2011, 20:28:35
Post #3





Grupa: Zarejestrowani
Postów: 371
Pomógł: 18
Dołączył: 23.11.2008

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


Kurcze, ustawiłem pole hidden MAX_FILE_SIZE na 9MB (max. wielkość pliku na hostingu jest ustawiona na 10MB) i ustawiłem warunek z $_FILES['plik']['size'] a i tak po załadowaniu pliku nic nie wyświetla i pliku nie wrzuca. Co może być błędem?
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: 19.07.2025 - 15:41