Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Upload obrazka
Turson
post 8.02.2012, 15:05:41
Post #1





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Już nie daję sobie rady. Wykombinowałem jakiś skrypt do uploadu zdjęć. W testowym dokumencie chodził ok, ale wrzuciłem do nowego projektu i dupa...
Za każdym razem wyskakuje komunikat 'Invalid file' a wrzucam ten sam obrazek co na testowym dokumencie, więc tym bardziej podejrzane.
  1. if($_SESSION["zalogowany"]==1){
  2. if($_POST["accept"]==true){
  3. $plik = rand(1, 999999);
  4. $ext = $_FILES["file"]["type"];
  5. if ((($_FILES["file"]["type"] == "image/gif")
  6. || ($_FILES["file"]["type"] == "image/jpeg")
  7. || ($_FILES["file"]["type"] == "image/pjpeg"))
  8. && ($_FILES["file"]["size"] < 5000000))
  9. {
  10. if($_FILES["file"]["error"] > 0)
  11. {
  12. echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
  13. }
  14. else
  15. {
  16. echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  17. echo "Type: " . $_FILES["file"]["type"] . "<br />";
  18. echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  19. echo 'Temp file: '.$_FILES["file"]["name"].'<br /><img src=../upload/'.$plik.'.jpg>';
  20.  
  21. if(file_exists("../upload/$plik.jpg"))
  22. {
  23. echo "'.$plik.' already exists";
  24. }
  25. else
  26. {
  27.  
  28. move_uploaded_file($_FILES["file"]["tmp_name"],
  29. "../upload/$plik.jpg");
  30. echo "Stored in: upload/$plik.jpg";
  31. }
  32. }
  33. }
  34. else
  35. {
  36. echo "Invalid file";
  37. }
  38. }
  39. else echo "Aby dodać zdjęcie, musisz zaakceptować regulamin";
  40. }
  41. else echo "Nie masz dostępu do tej strony";

i formularza
  1. <input type="file" class="input_plik" name="file">

Za każdym razem ten sam błąd...
Go to the top of the page
+Quote Post
potreb
post 8.02.2012, 17:17:56
Post #2





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


if (($_FILES["file"]["type"] == "image/gif" || $_FILES["file"]["type"] == "image/jpeg" || $_FILES["file"]["type"] == "image/jpg") && ($_FILES["file"]["size"] < 5000000))

Sprawdź czy upload_max_size jest dobrze ustawiona, i sprawdzaj errory z tablice $_FILES

Ten post edytował potreb 8.02.2012, 17:19:35


--------------------

Go to the top of the page
+Quote Post
Turson
post 8.02.2012, 19:10:21
Post #3





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Sęk w tym, że skrypt działa prawidłowo w innym pliku, a w tym nie
Go to the top of the page
+Quote Post
nospor
post 8.02.2012, 19:17:09
Post #4





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6297
Dołączył: 27.12.2004




Brak słów..... i właśnie dlatego masz sprawdzić co idzie w $_FILES!


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Turson
post 8.02.2012, 19:58:05
Post #5





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


W $_FILES idzie array a w $_FILES["file"]["error"] nic
Go to the top of the page
+Quote Post
nospor
post 8.02.2012, 20:02:33
Post #6





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6297
Dołączył: 27.12.2004




Cytat
W $_FILES idzie array
Puste array() ?
No to już wiesz czemu nie dziala - bo tablica $_FILES jest pusta.

Znając zycie pewnie źle zdefiniowałes formularz. Tu masz napisane jak należy to zrobić
http://www.php.net/manual/pl/features.file...post-method.php

A następnym razem jak cie proszą: SPRAWDZ to sprawdz a nie bez sensu dyskutujesz.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Turson
post 8.02.2012, 20:16:49
Post #7





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Wszystko przez niedomknięty znacznik <select>...
Sprawa rozwiązana, jak zwykle moje niedopatrzenie a szukam dziury w całym.
Dzięki!
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 Wersja Lo-Fi Aktualny czas: 27.04.2024 - 23:56