| Autor | Zpráva | ||
|---|---|---|---|
| Bita Profil * |
#1 · Zasláno: 3. 9. 2014, 20:22:26
Zdravím, prosím Vás, mohl by mi někdo pomoct s hotovým kódem ? Už tohle řeším delší dobu a nenašel jsem nic co by mi vyhovovalo. Potřeboval bych prostě vybrat a nahrát fotku a nahranou fotku uložit do složky kam chci. ( Vždy jen jednu fotku ) Předem díky moc !
|
||
| abc Profil |
Velice jednoduše např. nějak takto
<!DOCTYPE HTML>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<?php
$allowed_extensions = array("jpeg", "jpg", "png",); //povolené přípony souborů
$upload_dir = __DIR__ . "/upload"; //kam se má nahrávat
if ($_POST) {//došlo k odeslání formuláře
//ověření správné přípony
$extension = end(explode(".", $_FILES['file']['name']));
if (!in_array($extension, $allowed_extensions)) {
echo "Nahraný typ souboru (" . $extension . ") není mezi povolenými";
exit;
}
//nahrání do složky
move_uploaded_file($_FILES['file']['tmp_name'], $upload_dir . $_FILES['file']['name']);
}
?>
<form enctype="multipart/form-data" action="" method="POST"><!-- duležitý je správný enctype -->
<label>Soubor k nahrání:<input name="file" type="file"></label><br>
<input type="submit" name="send" value="Odeslat">
</form> |
||
| Davex Profil |
#3 · Zasláno: 3. 9. 2014, 23:28:37
abc:
Jen upozorním, že není bezpečné kontrolovat pouze poslední příponu nahrávaného souboru, protože špatně nakonfigurovaný webserver vykoná PHP skript i v souboru s dvojitou příponou. Např. skript.php.jpg nebo i s jinými jako .php4, .php5, .php54, a nejenom PHP. Ideální by bylo vygenerovat vlastní bezpečný název souboru (minimálně aplikovat basename() + nahradit přípony) a uložit do adresáře s vypnutým vykonáváním skriptů.
|
||
|
Časová prodleva: 12 let
|
|||
0