ďťż

Zawsze spełniony warunek Co jest?

       

Podstrony


telcocafe

od razu do rzeczy
if(isset($_FILES['plik'])) { echo '<b>siema</b>'; $dir = 'news_img/'.$id.'.jpg'; echo $dir."<br />"; if(!unlink($dir)) echo "tu"; move_uploaded_file($_FILES['plik']['tmp_name'], $dir); }

To ma za zadanie sprawdzić....jeżeli ktoś ustawił plik to ma wykonać instrukcje jeśli nei to nie....ale co dziwne on zawsze (nie ważne czy uploaduje zdjecie czy nie) Uważa, ze zdjęcie jest wysłane i mi się syf robi :/



najprawdopodobniej zmienna $_FILES['plik'] jest zawsze ustawiona...

spróbuj może
if(isset($_FILES['plik']) && $_FILES['plik']<>'') { echo '<b>siema</b>'; $dir = 'news_img/'.$id.'.jpg'; echo $dir."<br />"; if(!unlink($dir)) echo "tu"; move_uploaded_file($_FILES['plik']['tmp_name'], $dir); }

niestety to nic nie zmieniło

kiedy daje
echo $_FILES['plik'];
To zwraca wartość 'Array' a powinno raczej nazwe pliku...co nie ?
A no i zawsze zwraca Array...nawet jak nie przesyłam pliku
Użytkownik Dawid-San edytował ten post 23 kwiecień 2007, 14:09
no to zrób tak:

w formie do wysyłania pliku dodaj
<input type="hidden" name="uploaduje" value="tak">

i wtedy dajesz taki kod
if(isset($_FILES['plik']) && $_POST['uploaduje']=='tak') { echo '<b>siema</b>'; $dir = 'news_img/'.$id.'.jpg'; echo $dir."<br />"; if(!unlink($dir)) echo "tu"; move_uploaded_file($_FILES['plik']['tmp_name'], $dir); }



ale przecież to pole ukryte zawsze się będzie wysyłało. Więc skoro zmienna $_FILES jest zawsze ustawiona to co to da ? ? ? ?

p.s tak jak sie spodziewalem nic to nie dało
Użytkownik Dawid-San edytował ten post 23 kwiecień 2007, 14:19
OMG. Maaan spojrzyj do manuala :P Musisz podać jeszcze jeden argument, bo używasz zmiennej wielowymiarowej...

czyli, że tak:
$_FILES['plik']['tmp_name']
??

No nie mogę tego złożyć :|
Użytkownik Dawid-San edytował ten post 23 kwiecień 2007, 14:30

ale przecież to pole ukryte zawsze się będzie wysyłało [...]

to zależy jak Twój skrypt jest zrobiony...
jeśli masz coś takiego:
upload_form.php -> tutaj jest forma do uploadu plikow (wraz z ukrytym polem), wyswietlana przez np.index.php w popupie
upload.php -> plik uzywający move_uploaded_file(), jesli otworzysz go bez postowania zmiennej uploaduje=tak, to skrypt nie zostanie wykonany

dużo skryptów uploadingu właśnie w taki sposób działa

if(!isset($_FILES['file']) || $_FILES['file']['name']==''){ echo "<b>Brak</b>"; } else { echo '<b>siema</b>'; $dir = 'news_img/'.$id.'.jpg'; echo $dir."<br />"; if(!unlink($dir)) echo "tu"; move_uploaded_file($_FILES['file']['tmp_name'], $dir); }

Jeśli komuś się przyda :) Działa tak jak należy..dzięki za podpowiedzi :)
Użytkownik Dawid-San edytował ten post 23 kwiecień 2007, 15:08
Już mnie oświeciło :P Gdy submitujesz formę, zawsze będzie "coś" :P
Tak więc używasz niepoprawnej instrukcji xD

Użyj tego:if (!empty($_FILES['plik']['name'])) {

edit: spóźniłem się :P gz man ;)
Użytkownik DJ_ProG edytował ten post 23 kwiecień 2007, 15:22
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.