| | |
| Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
Autor | Správa |
---|
Registrovaný: 04.01.11 Prihlásený: 03.05.12 Príspevky: 8 Témy: 4 | Napísal majoha: 07.11.2011 21:04 | |
|
Ahojte,mám tento kód: Kód: <?php
require "spojeniee.php"; $maxFileSize = "1000000"; // 1 MB file size
$image_array = array("image/jpeg","image/jpg","image/gif","image/bmp","image/pjpeg","image/png");
$fileType = $_FILES['obrazok']['type']; $msg = '';
$original = $_FILES [ 'obrazok' ][ 'tmp_name' ];
$velkost = getimagesize($original);
$sirka = $velkost[0]; $vyska = $velkost[1];
$tn_sirka=$velkost[0]; $tn_vyska=$velkost[1]; $max_rozmer=500; if($tn_sirka>$max_rozmer){ $tn_vyska=$tn_vyska/($tn_sirka/$max_rozmer); $tn_sirka=$max_rozmer; } if($tn_vyska>$max_rozmer){ $tn_sirka=$tn_sirka/($tn_vyska/$max_rozmer); $tn_vyska=$max_rozmer; }
$org = ImageCreateFromJpeg($original);
$tn = ImageCreateTrueColor($tn_sirka,$tn_vyska); ImageCopyResized($tn,$org,0,0,0,0,$tn_sirka,$tn_vyska,$velkost[0],$velkost[1]); ob_start (); ImageJpeg($tn); $image_thumb = ob_get_contents (); ob_end_clean ();
if(@$_POST['submit']) {
if (in_array($fileType, $image_array)) {
if(is_uploaded_file($_FILES['obrazok']['tmp_name'])) { if($_FILES['obrazok']['size'] < $maxFileSize)
{ $obrazok =addslashes (file_get_contents($_FILES['obrazok']['tmp_name']));
$sql = "INSERT INTO obrazky (obrazok,odkaz,type,image_height, image_width,thumb_width,thumb_height,image_thumb) VALUES ('$obrazok','$_POST[odkaz]','$fileType','$vyska', '$sirka' , '$tn_sirka' , '$tn_vyska','$tn' )"; mysql_query($sql) or die(mysql_error()); $msg = "Obrázok sa úspešne nahral"; } else { $msg = 'Obrazok prekročil maximálny limit'; } } } else { $msg = 'Neplatný obrázok '; }
} ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Language" content="sk"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<body> <span style="color:#FF0000"><?php echo $msg; ?></span><br />
<h3>Vyberte obrazok ktorý chcete nahrať</h3> <form enctype="multipart/form-data" action="" method="post"> E-mail: <input type="text" name = "odkaz"><br> <input name="obrazok" type="file" /> <input type="submit" value="Odoslať" name="submit"/> </form> </body> </html>
nedarí sa mi uložiť miniatúru do databázy.Do "image_thumb"mi namiesto Súbor JPG uloží súbor typu Binary File.Naozaj neviem kde robím chybu. Vopred ďakujem za každú radu.
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 07.11.2011 21:08 | |
|
Ako si zisťoval, že to nie je jpg, ale je to binary file?
PS: Myslíš si, že je dobrý nápad dávať obrázky do DB? Ak by to boli "normálne" súbory, tak by ich posielal priamo webový server (pravdepodobne Apache) a server by to zaťažovalo oveľa menej (navyše by si prehliadač mohol ten obrázok uložiť do cache; síce to by si mohol dorobiť aj pri použití DB, ale pochybujem, že to tam máš).
|
|
Registrovaný: 04.01.11 Prihlásený: 03.05.12 Príspevky: 8 Témy: 4 | Napísal autor témy majoha: 08.11.2011 20:45 | |
|
Po kliknutí na obrázok v databáze mi ukáže akého typu je súbor.
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 08.11.2011 21:24 | |
|
V čom to pozeráš? Datábáze je úplne jedno, aké binárne dáta do nej ukladáš, ty sa musíš postarať, aby si klientovi povedal, čo to vlastne je. Takže ak tam chceš dávať rôzne typy obrázkov, musíš si uložiť aj to, o oký typ ide, aby si potom vedel klientovi poslať správny MIME typ.
Stále ale platí, že ukladať obrázky do DB nie je dobrý nápad (a netuším, k čomu to má slúžiť).
|
|
Registrovaný: 04.01.11 Prihlásený: 03.05.12 Príspevky: 8 Témy: 4 | Napísal autor témy majoha: 08.11.2011 21:52 | |
|
V db mám uložený originál +miniatúru.Originál sa dá zobraziť ale miniatúra nie.
Čo sa tíka ukladania údajov do DB,ja si myslím že pre mňa je to dobré riešenie.
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 08.11.2011 22:00 | |
|
A aspoň tam máš vyriešenú tú možnosť cache-ovania?
Inak v tom INSERT máš premennú $tn. Nemala by tam byť náhodou premenná $image_thumb?
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice |
do dtb by som odporucal vkladat len cestu k obrazkom a k miniaturam.
Popripade existuje funkcia, ktora ti automaticky vytvori miniaturu a ulozi ju docasne do cache priecinka, takze napr. ja ziadne miniatury do dtb nedavam...
|
|
| Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|