Autor Zpráva
mersi
Profil
Na svojej stranke, mam spolu s moznostou ukladania dat do mysql, mmoznost uploadu obrazku na server. Robim to takym sposobom ze v formulari cez

<input name="userfile" type="file" />


nacitavam obrazok na nasledne scriptom

$uploaddir = '../obr/plagaty/'; // Relative path under webroot
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
     header( 'Location: action.php?not=OK );
     }
else{
     header( 'Location: edit_form.php?id=' . $_POST['id'] . '&error=1' );
     }


obrazok uploadujem a cestu k obrazku ukladam do MySQL db.
Problem je iba v tom ze ak nezadam nijaky obrazok do MySQL sa ulozi prazdna cesta a to nechcem chcem sa spytat kt. premenu mam testovat, aby som zistil ze nebol uploadovany obrazok

Mam testovat premenu
$uploadfile
ci nieje prazdna?
Alphard
Profil
už tam máte podmínku, jestli se podařilo přesunout uploadovaný soubor, jestli ano, je přesměrováno, jestli ne, tak taky, co je na daných stránkách musíte vědět sám, další kontrola IMHO není nutná
pokud se to nepovedlo, nezapisujte do databáze

jestli vám jde o ověření, zda byl nahrán obrázek a ne třeba *.doc, prožeňte to funkcí getimagesize()
mersi
Profil
ide o to ze tento kod je aj pre zmenu udajov v Mysql, ktorych sucastou je aj cesta k obrazku, a ja chcem aby ked uzivatel (to mam urobene cez formular) meni niektore udaje, a nevybral obrazok, aby v mysql ostala povodna cesta k obrazku. aby sa nezamenila na prazdnu

preto potrebujem testovat ci bol obrazok zvoleny, a ak nebol aby sa neukladala cesta do mysql, iba ostatne udaje kt. boli zmenene

vsetko viem ako to spravit, len neviem testovanim ktorej premennej jednoznacne urcim ze obrazok vo formulare nebol vybrany cez button prehladavat
Alphard
Profil
$upload = is_uploaded_file ($_FILES['userfile']['tmp_name']);

stačí?
mersi
Profil
to znamena ze v upload bude hodnota TRUE iba ak bol subor poslany cez formular?

ak ano tak staci
mersi
Profil
to znamena ze v upload bude hodnota TRUE iba ak bol subor poslany?
ak ano tak staci
Alphard
Profil
ano

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: