Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Sprawdzenie, czy plik został wysłany, Przekształcenie kodu
ebate
post 30.10.2011, 18:16:59
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 12.10.2011

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


Z manuala mam taki kod:

  1.  
  2. if (is_uploaded_file($_FILES['pliczek']['tmp_name'])) {
  3.  
  4. echo "File ". $_FILES['pliczek']['name'] ." upload prawidłowy.\n";
  5.  
  6. echo "Wyświetlam treść\n";
  7.  
  8. readfile($_FILES['pliczek']['tmp_name']);
  9.  
  10. } else {
  11.  
  12. echo "Możliwy atak przez uploadowanie pliku: ";
  13.  
  14. echo "Plik '". $_FILES['pliczek']['tmp_name'] . "'.";
  15.  
  16. }


Skrypt jak wszyscy widzą mówi, że jeśli (if) plik został wysłany, to wyskakuje komunikat, a jeśli nie (else) to wyskakuje inny komunikat. Skrypt jest dobry, ale nie chce sobie robić bałaganu we wcześniej uporządkowanym kodzie php. Wiec jakby wyglądał kod w formie: jeśli (if) plik nie został wysłany, to wyskakuje komunikat "Brak zdjęcia" (i nic więcej).
Go to the top of the page
+Quote Post
zaq1991zaq
post 30.10.2011, 19:42:22
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 1
Dołączył: 29.10.2011

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


if (!is_uploaded_file($_FILES['pliczek']['tmp_name']))
{echo 'KOMUNIKAT';}

Ja bym to zrobił przez zaprzeczenie.
Go to the top of the page
+Quote Post
Arhimenrius
post 30.10.2011, 22:08:57
Post #3





Grupa: Zarejestrowani
Postów: 115
Pomógł: 3
Dołączył: 19.04.2011

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


Domyślam się że robisz to przez formularz z inputem type="file". Ja bym na Twoim miejscu zastosowałw takim razie if($_POST['nazwa_inputu_z_file']{...}
Go to the top of the page
+Quote Post
ebate
post 31.10.2011, 12:42:24
Post #4





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 12.10.2011

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


Przycisk od wysyłania zdjęcia:
  1. <input type="file" name="pliczek" size="40" /><br>


A tak próbuje i...
  1. if (empty($_POST['pliczek']))
  2.  
  3. {
  4.  
  5. $errors[] = 'Musisz wybrać swoje zdjecie.';
  6.  
  7. }


Przy braku zdjecia wyskakuje poprawnie komunikat, lecz jak zdjecie jest załączone również wyskakuje komunikat i nie moge sie zarejestrować.

Kod ten nie za bardzo działa. Gdy nie mam załączonego zdjecia - wyskakuje komunikat, jeśli mam ząłączone - też wyskakuje

  1. if (!is_uploaded_file($_FILES['pliczek']['tmp_name']))
  2. { echo 'Musisz wybrać swoje zdjecie.'; }


Ten kod ma ten sam błąd co powyższy
  1. if(empty($_POST['pliczek']))
  2.  
  3. {
  4.  
  5. $errors[] = 'Musisz wybrać swoje zdjecie.';
  6.  
  7. }


Juz doszedłem, co źle robiłem. Oto rozwiązanie:

  1. if(empty($_FILES['pliczek']['tmp_name']))
  2.  
  3. {
  4.  
  5. $errors[] = 'Musisz wybrać swoje zdjecie.';
  6.  
  7. }
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: 15.08.2025 - 03:13