Autor Zpráva
opicakuz
Profil
Zdravím,
mohl bych dostat radu jak zkontrolovat zda uživatelem nahraný soubor došel do cílové složky? Vše je funguje, ale když nevyberu soubor žádný a dám odeslat, tak mi to vypíše, že je vše v pořádku.

$zlozka = "/uploadnuto"; // jmeno slozky pro upload

if( is_uploaded_file($_FILES['subor']['tmp_name']) && ($_POST['upload'] == "ok") )
{
echo 'Soubor <strong>".$_FILES["subor"]["name"]."</strong> se <b>NE</b>podařilo nahrát. Zkus to prosím ještě jednou.<br> Je ale také možné, že soubor je moc velký. V tomto případě ho ulož někam jinam a pošli nám odkaz na mail opicakz@gmail.com. Díky<br><br> Nahrát ho můžeš třeba na server <a ****************" *******************************>';
}

else

if( move_uploaded_file($_FILES['subor']['tmp_name'], "./".$zlozka."/".$_FILES['subor']['name']) )
{
echo "Soubor <strong>".$_FILES['subor']['name']."</strong> byl nahrán na server. Naleznete ho na adrese <a href=".$zlozka."/".$_FILES['subor']['name'].">http://www.pck.desitka.cz".$zlozka."/".$_FILES['subor']['name']."</a>";
}


Díky za případné rady
Keeehi
Profil
file_exists();

Zabezpeč si to! Tímto si sám říkáš o napadení stránek.
opicakuz
Profil
Diky moc
opicakuz
Profil
V php jsem zacatecnik, takze zabezpeceni nezvladam. :)
Alphard
Profil
Máte ve formuláři pole s name="upload" a value="ok"? Podmínka s is_uploaded_file() by měla být dostatečná pro ošetření neexistujícího souboru. Vy ten kód ale máte sestavený nějak zmateně.
radas
Profil *
opicakuz:
a tam se může nahrát jakýkoliv soubor? nebo jen určité typy souborů?
Keeehi
Profil
radas:
Tak jak to má teď, tak jakýkoliv soubor.
jenikkozak
Profil
radas:
Soubor jakéhokoliv typu se uloží jen dočasně. Nepřesune se do požadované složky, neboť tam je obráceně podmínka. Navíc ta chybová hláška se nevypíše správně.
if(!is_uploaded_file($_FILES['subor']['tmp_name']))
{
echo "Soubor <strong>".$_FILES["subor"]["name"]."</strong> se <b>NE</b>podařilo nahrát. Zkus to prosím ještě jednou.<br> Je ale také možné, že soubor je moc velký. V tomto případě ho ulož někam jinam a pošli nám odkaz na mail **. Díky<br><br> Nahrát ho můžeš třeba na server ***";
}

Funkce is_uploaded_file() přece kontroluje, zda soubor byl nahrán. V kladném případě (vrátí-li true) se nemá vypisovat chyba, proto jsem před ni doplnil negaci (ten vykřičník).
opicakuz
Profil
jenikkozak:
Díky,
moc jsi mi pomohl a vše již šlape krásně. :-)

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: