![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 238 Pomógł: 1 Dołączył: 27.08.2003 Ostrzeżenie: (0%)
|
Poprzez formularz (name=zdjecie) dodaje zdjęcie, które następnie ma sięwgrać na serwer. Kod wygląda tak:
[php:1:5c0f5c04ec] $zdjecie = $_FILES['zdjecie']['tmp_name']; $zdjecie_size = $_FILES['zdjecie']['size']; $zdjecie_type = $_FILES['zdjecie']['type']; $zdjecie_error = $_FILES['zdjecie']['error']; if ($zdjecie_error > 0) { switch ($zdjecie_error) { case 1: echo '<B>BŁĄD:</B> Rozmiar pliku przekroczył wartość upload_max_filesize'; break; case 2: echo '<B>BŁĄD:</B>Rozmiar pliku przekroczył wartość max_file_size'; break; case 3: echo '<B>BŁĄD:</B>Plik wysłany tylko częściowo'; break; case 4: echo '<B>BŁĄD:</B>Nie wysłano żadnego pliku'; break; } exit; } [/php:1:5c0f5c04ec] Problem polega na tym, że jeśli do formularza nie dodam żadnego zdjęcia, to wyświetlają się błędy, związene z tym, że zmienna zdjecie jest pusta, a przecież powinien się wyświetlić alert 'nie wysłano żadnego pliku'. Widzicie jakieś błędy w kodzie, który podałem? |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 9.09.2003 Skąd: K-ce Ostrzeżenie: (0%)
|
No bo przeciez jak zmienna "Zdjecie" jest pusta
[php:1:03656134df]<?php $zdjecie = $_FILES['zdjecie']['tmp_name']; $zdjecie_size = $_FILES['zdjecie']['size']; $zdjecie_type = $_FILES['zdjecie']['type']; $zdjecie_error = $_FILES['zdjecie']['error']; ?>[/php:1:03656134df] to te zmienne nie istniejeja bo nie zostaly podane i wtedy instrujcja if nie jest wykonywana (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Dodatkowy if zalatwil by sprawe:D |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 0 Dołączył: 5.10.2003 Skąd: Londyn / UK Ostrzeżenie: (0%)
|
Jesli chcesz sprawdzac czy zmienna nie jest pusta to daj $zmienna!="" , ablo czy wogole jest ustawiona przez isset()
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%)
|
$_FILES['nazwa'] == "none" -> pusta
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 238 Pomógł: 1 Dołączył: 27.08.2003 Ostrzeżenie: (0%)
|
Cytat No bo przeciez jak zmienna "Zdjecie" jest pusta
[php:1:84feed4eaf]<?php $zdjecie = $_FILES['zdjecie']['tmp_name']; $zdjecie_size = $_FILES['zdjecie']['size']; $zdjecie_type = $_FILES['zdjecie']['type']; $zdjecie_error = $_FILES['zdjecie']['error']; ?>[/php:1:84feed4eaf] to te zmienne nie istniejeja bo nie zostaly podane i wtedy instrujcja if nie jest wykonywana (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Dodatkowy if zalatwil by sprawe:D jeżeli dobrze zrozumiałem Twoje słowa, to po co w takim razie jest tablica $_FILES['zdjecie']['error']; skoro i tak mam wcześniej sprawdzić, czy zmienna nie jest pusta? Preceż to non sens |
|
|
|
Post
#6
|
|
|
Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%)
|
Błędów nie ma, ścieżka do pliku była pusta. więc pewnie php nawet nie utworzyło miejsca w $_FILES dla tego pliku. Daj dodatkową instrukcje warunkową if:
[php:1:8d7ceaa776]<?php if( isset( $_FILES['zdjecie'] ) { // i tu cały kod } ?>[/php:1:8d7ceaa776] |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 9.09.2003 Skąd: K-ce Ostrzeżenie: (0%)
|
Troszke zle sie wyrazilem poprostu jak nie podasz zmiennej w formularzu to wogule nie tworzy tych tablic &_FILES bo nie ma z czego czyli zmiene sa puste
|
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 238 Pomógł: 1 Dołączył: 27.08.2003 Ostrzeżenie: (0%)
|
kurcze, na localhoscie wszystko mi dobrze działa, a na serwerze warunek
[php:1:5521eaaf20] if( isset( $_FILES['zdjecie'] ) { // i tu cały kod } [/php:1:5521eaaf20] nie działa gdy zmienna $zdjecie jest pusta. Domyślacie sięmoże i jakie ustawienia serwera może chodzić, że na jednym działa a na drugim nie? Dodam że na localhoscie mam ustawione: error_reporting = E_ALL & ~E_NOTICE register_globals = Off |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 23.11.2010 Ostrzeżenie: (0%)
|
tez mam ten problem
|
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 467 Pomógł: 39 Dołączył: 7.11.2010 Skąd: Raz tu, raz tam Ostrzeżenie: (30%)
|
Sprawdzaj filesize albo nazwa pliku, jezeli filesize == 0 to blad albo jezeli nazwa pliku ma 0 znakow to blad
|
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 06:01 |