Autor | Zpráva | ||
---|---|---|---|
Sajgon Profil * |
#1 · Zasláno: 9. 4. 2009, 07:25:13
Ahojda,
k uploadování obrázků na server používám tento script <? if (!jeadmin()) return; include "scripts.php"; ?> <br /> <div align="left" style="text-align:left; margin-left:20px"><a href="http://nejakyserver/databaze/index.php?p=stavby">NEVKLÁDAT OBRÁZEK a přejít na databázi staveb</a></div><br /> <br /> <form enctype="multipart/form-data" method="post" action="<? echo $mainodkaz."upload&odeslat=1&idstavby=".$idstavby ?>"> <input name="fotka" type="file" size="20"> <input type="submit" value="Nahrát"> </form> <?php if ($_GET['odeslat'] == 1 ) { $soubor_velikost = ($_FILES['fotka']['size']); $soubor_typ = ($_FILES['fotka']['type']); $soubor_nazev = ($_FILES['fotka']['name']); // odstraneni mezer, diakritiky a omezeni poctu znaku v nazvu souboru $ids = $idstavby; $soubor_nazev = ereg_replace(" +", "", $soubor_nazev); $soubor_nazev = (StrTr($soubor_nazev, "ÁÄČÇĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽáäčçďéěëíňóöřšťúůüýž", "AACCDEEEINOORSTUUUYZaaccdeeeinoorstuuuyz")); rename($soubor_nazev,$ids."jpg"); If ((strlen($id.".jpg")) < 50) { $soubor_docasne = ($_FILES['fotka']['tmp_name']); $adresar = $_SERVER['DOCUMENT_ROOT']."/databaze/images/"; $cil = $adresar . $ids.".jpg"; $soubor_velikost_kB = round($soubor_velikost / 1024); if (($soubor_velikost < 3145729) && ($soubor_velikost != 0)) { if (($soubor_typ != "application/octet-stream") && (($soubor_typ == "image/jpeg") || ($soubor_typ == "image/pjpeg"))) { if (move_uploaded_file($soubor_docasne, $cil)) { list($sirka, $vyska, $typ, $atributy) = getimagesize($cil); if ($sirka > 800 || $vyska > 800) echo "<strong>Obrázek nesmí mít šířku, nebo výšku, větší než 800px!</strong>"; else echo ("<br />Fotka " . $ids.".jpg" . " o velikosti " . $soubor_velikost_kB . " kB a rozměrech " . $sirka . "x" . $vyska . " byla úspěšně nahrána.<br />"); } } else {echo ("<br /><strong>Vybraný soubor není požadovaného typu (JPG).</strong>");} } else {echo ("<br /><strong>Vybraný soubor je příliš velký. Maximální velikost je 3 MB.</strong>");} } else {echo ("<br /><strong>Maximální povolený počet znaků v názvu souboru je 50.</strong>");} } ?> Prosím nekoukejte v této chvíli na nějakou (ne)bezpečnost, kód je funkční a to mi zatím stačí. Teď k podstatnému. Prosím někoho šikovného a ochotného, který by mi do tohoto kódu implementoval automatické vytvoření náhledu. Zkrátka aby mi při samotném uploadu např. obrázku "1234.jpg" ihned kód vytvořil i náhled (se striktními rozměry 100x80 px - ať je pak výsledný náhled pokřivenej, jak chce :-) "1234_thumb.jpg". Zároveň trochu odvážně požádám, abyste mne prosím neodkazovali na nějaký tutoriál. Prošel jsem jich dost, ale jsem asi pitomej :-D Mockrát děkuji človíčku, který mi pomůže. |
||
alter ego Profil * |
#2 · Zasláno: 9. 4. 2009, 07:50:44
A co třeba takto?
<? if (!jeadmin()) return; include "scripts.php"; ?> <br /> <div align="left" style="text-align:left; margin-left:20px"><a href="http://nejakyserver/databaze/index.php?p=stavby">NEVKLÁDAT OBRÁZEK a přejít na databázi staveb</a></div><br /> <br /> <form enctype="multipart/form-data" method="post" action="<? echo $mainodkaz."upload&odeslat=1&idstavby=".$idstavby ?>"> <input name="fotka" type="file" size="20"> <input type="submit" value="Nahrát"> </form> <?php if ($_GET['odeslat'] == 1 ) { $soubor_velikost = ($_FILES['fotka']['size']); $soubor_typ = ($_FILES['fotka']['type']); $soubor_nazev = ($_FILES['fotka']['name']); // odstraneni mezer, diakritiky a omezeni poctu znaku v nazvu souboru $ids = $idstavby; $soubor_nazev = ereg_replace(" +", "", $soubor_nazev); $soubor_nazev = (StrTr($soubor_nazev, "ÁÄČÇĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽáäčçďéěëíňóöřšťúůüýž", "AACCDEEEINOORSTUUUYZaaccdeeeinoorstuuuyz")); rename($soubor_nazev,$ids."jpg"); If ((strlen($id.".jpg")) < 50) { $soubor_docasne = ($_FILES['fotka']['tmp_name']); $adresar = $_SERVER['DOCUMENT_ROOT']."/databaze/images/"; $cil = $adresar . $ids.".jpg"; $soubor_velikost_kB = round($soubor_velikost / 1024); if (($soubor_velikost < 3145729) && ($soubor_velikost != 0)) { if (($soubor_typ != "application/octet-stream") && (($soubor_typ == "image/jpeg") || ($soubor_typ == "image/pjpeg"))) { if (move_uploaded_file($soubor_docasne, $cil)) { list($sirka, $vyska, $typ, $atributy) = getimagesize($cil); if ($sirka > 800 || $vyska > 800) { echo "<strong>Obrázek nesmí mít šířku, nebo výšku, větší než 800px!</strong>"; } else { $thumb=$_SERVER['DOCUMENT_ROOT']."/databaze/images/".$ids."_small.jpg";// cil $image_big=$_SERVER['DOCUMENT_ROOT']."/databaze/images/".$ids.".jpg"; //originalni(velky) obrazek 400x400 - třeba if (!@fopen($thumb,"r") and @fopen($image_big,"r")==true); // jestlie neni nalezen maly nahled a zdrojovy obrazek existuje $in_size=getimagesize($image_big);// zjisti velikost zdroje $mala_sirka=100; //vypocita 1/4z puvodni sirky $mala_vyska=80; // vypocita 1/4 z puvodni vysky $im_in = imagecreatefromjpeg ($image_big); $im_out = imagecreatetruecolor ($mala_sirka, $mala_vyska); imagecopyresampled($im_out, $im_in, 0, 0, 0, 0, $mala_sirka, $mala_vyska, $in_size[0], $in_size[1]); // zmeni velikost imagejpeg($im_out,$thumb);// vezmi presamplovana data a uloz je do $thumb echo ("<br />Fotka " . $ids.".jpg" . " o velikosti " . $soubor_velikost_kB . " kB a rozměrech " . $sirka . "x" . $vyska . " byla úspěšně nahrána.<br />"); } } } else {echo ("<br /><strong>Vybraný soubor není požadovaného typu (JPG).</strong>");} } else {echo ("<br /><strong>Vybraný soubor je příliš velký. Maximální velikost je 3 MB.</strong>");} } else {echo ("<br /><strong>Maximální povolený počet znaků v názvu souboru je 50.</strong>");} } ?> |
||
Časová prodleva: 15 let
|
0