Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Sprawdzenie, czy plik został wysłany
Forum PHP.pl > Forum > Przedszkole
ebate
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).
zaq1991zaq
if (!is_uploaded_file($_FILES['pliczek']['tmp_name']))
{echo 'KOMUNIKAT';}

Ja bym to zrobił przez zaprzeczenie.
Arhimenrius
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']{...}
ebate
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. }
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.