Autor | Zpráva | ||
---|---|---|---|
KOŽAK Profil * |
#1 · Zasláno: 17. 6. 2008, 15:09:01
zdravicko, mam jednoduchy skript na posilani souboru na server zaroven s ukladanim do databaze ale ted bych jeste potreboval aby se mi ulozil ten soubor(obrazek) a zaroven s nim ten samy obrazek do jine slozky(miniatury) uz se s tim od rana peru ale porad se nejak nedari, tak mne napadlo jestli je to vubec mozne a kdyztak jak na to poradi nekdo??
tady je muj skript:if (isset($_POST['odeslat'])) { // Zpracovat formulář. // Zkontrolovat název souboru (nepovinný). if (is_uploaded_file ($_FILES['nazev_souboru']['tmp_name'])) { if (move_uploaded_file($_FILES['nazev_souboru']['tmp_name'], "../prijato/{$_FILES['nazev_souboru']['name']}")) { // Přenést soubor. echo '<p>Soubor byl přenesen!</p>'; } else { // Soubor nelze přenést. echo '<p><font color="red">Soubor nelze přenést.</font></p>'; $soub = ''; } $soub = $_FILES['nazev_souboru']['name']; } else { $soub = ''; } $dotaz = "insert into zbozi(nazev,popis,cena,obrazek,datvloz,objcsl,druh)VALUES('$n','$p','$ c','$soub',NOW(),'$objcsl','$druh')"; $vysledek=mysql_query($dotaz); } |
||
Nox Profil |
#2 · Zasláno: 17. 6. 2008, 15:15:25 · Upravil/a: Nox
|
||
KOŽAK Profil * |
#3 · Zasláno: 17. 6. 2008, 17:56:32
dikes ale tohle mi moc nepomohlo, neni nekde neco dobre vysvetlene cesky?
|
||
Alphard Profil |
#4 · Zasláno: 17. 6. 2008, 18:52:47
možné to je, "chyba" je na tomto řádku:
if (move_uploaded_file($_FILES['nazev_souboru']['tmp_name'], "../prijato/{$_FILES['nazev_souboru']['name']}")) chyba v tom smyslu, že fce move_uploaded_file() obrázek přesune a dále s ním nelze pracovat v daném umístění, možnosti jsou asi 2: 1. použít funkci copy(), zkopíruje obrázek a zachová ho pro další práci 2. funkci, která ho zmenší na miniaturu, zavolat na začátku a předat ji původní cestu PS: je to nebezpečné, lze uploadovat soubor *.php a ve složce prijato spustit libovolný kód |
||
KOŽAK Profil * |
#5 · Zasláno: 17. 6. 2008, 19:03:22
když zkouším použít copy vyhlásí mne to takhle ví někdo co to znamená? že by na wz měli zakázané použití této funkce?
Warning: copy() has been disabled for security reasons in /3w/wz. |
||
KOŽAK Profil * |
#6 · Zasláno: 17. 6. 2008, 19:21:50
tak jsem ještě trochu hledal a našel jsem něco co by mohlo muj problem vyřešit, skript jsem trochu upravil jenže částečně nefunguje do slozky prijato(puvodni slozka) se sice soubory uploaduji ale do prijato /miniatury se nepridavaji zmenseniny kopne mne nekdo kde mam chybu??
|
||
KOŽAK Profil * |
#7 · Zasláno: 17. 6. 2008, 19:22:17
jeste ten skript pardon :-)
if (is_uploaded_file ($_FILES['nazev_souboru']['tmp_name'])) { if (move_uploaded_file($_FILES['nazev_souboru']['tmp_name'], "../prijato/{$_FILES['nazev_souboru']['name']}")) { // Přenést soubor. echo '<p>Soubor byl přenesen!</p>'; $width = 50; $height = 50; $dir = '../prijato/miniatury/'; function image($file) { global $width; global $height; global $dir; $imagesize = getimagesize($file); switch($imagesize[3]) { case '1': $img = imagecreatefromgif($file); break; case '2': $img = imagecreatefromjpeg($file); break; case '3': $img = imagecreatefrompng($file); break; } if(!$img) { return false; } $img2 = imagecreatetruecolor($width, $height); imagecopyresized($soubor, $x, 0, 0, 0, 0, $width, $height, $imagesize[0], $imagesize[1]); if($imagesize[3] == 2) { imagejpeg($img2, $dir . $_FILES['nazev_souboru']['name'] . 'jpg'); } elseif($imagesize[3] == 1) { imagetruecolortopalette($img2, false, 256); imagegif($img2, $dir . $_FILES['nazev_souboru']['name'] . 'gif'); } elseif($imagesize[3] == 3) { imagetruecolortopalette($img2, false, 256); imagegif($img2, $dir . $_FILES['nazev_souboru']['name'] . 'png'); } } } else { // Soubor nelze přenést. echo '<p><font color="red">Soubor nelze přenést.</font></p>'; $soub = ''; } $soub = $_FILES['nazev_souboru']['name']; } else { $soub = ''; } |
||
srigi Profil |
#8 · Zasláno: 17. 6. 2008, 20:23:23 · Upravil/a: srigi
Mozem postnut svoje riesenie?
public function upload_image() { if (!isset($_FILES['filename'])) { // basic error handling if empty $_FILES header('Location: /admin/image-manager/'); } if (is_uploaded_file($_FILES['filename']['tmp_name'])) { if ($_FILES['filename']['type'] == 'image/gif' || $_FILES['filename']['type'] == 'image/jpeg' || $_FILES['filename']['type'] == 'image/png') { $result = move_uploaded_file($_FILES['filename']['tmp_name'], '/upload/directory/'.$_FILES['filename']['name']); if ($result) { // generate thumbail for new image $img = new Gregphoto_image('/upload/directory/'.$_FILES['filename']['name']); $img->setMaxWidth(120); $img->resize(Gregphoto_Image::MAX_WIDTH); $img->saveThumbnail('/thumb/directory/'.$_FILES['filename']['name']); echo "everything went O.K."; } else { echo "error ocured!"; } } else { echo "NOT an image!"; } } } BTW vsimol som si, ze netestujes typ prijateho suboru, to je velka chyba, ludia ti mozu uploadovat php skripty, co mimoriadne ohrozuje aplikaciu! |
||
Časová prodleva: 16 let
|
0