Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Upload na serwer
Forum PHP.pl > Forum > Przedszkole
Mefiuu
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.
ciekawskiii
Uzyj
  1. $_FILES['plik']['size']
i w ten sposob sprawdzaj wielkosc (po co masz dwa razy info o przekroczeniu 6mb?)
Mefiuu
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?
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.