Upload rute do slika u mysql i provera formata slika?

Upload rute do slika u mysql i provera formata slika?

offline
  • Pridružio: 30 Avg 2008
  • Poruke: 91

Napisano: 07 Jun 2011 23:14

Pozdrav,

Interesuje me kako mogu da insertujem nazive slika u mysql. Želim svako ime slike da ubacim u novi red (autoincrement)

kako treba da mi izgleda query?
običan query bi izgledao ovako
INSERT INTO images (id, name, ordering, ruta, id_proizvoda) VALUES (%s, %s, %s, %s, %s)"

ali je problem sto ja imam vise slika
Našao sam ovako nešto na kon googlanja ali mi nije baš jasan ovaj red pa ako može neko da mi ga objasni
insert into images (image) values (null);
update images set image=concat(last_insert_id(), '.jpg') where id=last_insert_id();

druga stvar koja me interesuje je kako mogu proveritit da li je slika (jpg ili gif)

Evo koda sa kojim uploadujem slike

$i = '0'; $malaslika = 'resized'; $id = $row_Recordset1['id'];     function imgReisize($uploadedfile, $Destination, $Thumb){ //this is the function that will resize and copy our images // Create an Image from it so we can do the resize $src = imagecreatefromjpeg($uploadedfile); // Capture the original size of the uploaded image list($width,$height)=getimagesize($uploadedfile); // resize slika $newwidth=480; $newheight=($height/$width)*480; $tmp=imagecreatetruecolor($newwidth,$newheight); // this line actually does the image resizing, copying from the original // image into the $tmp image imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height); // now write the resized image to disk. I have assumed that you want the $filename = $Destination; imagejpeg($tmp,$filename,100); // resize malih slika $newwidth=100; $newheight=($height/$width)*100; $tmp=imagecreatetruecolor($newwidth,$newheight); //resizujem slike imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height); // upload slika $filename = $Thumb; imagejpeg($tmp,$filename,100); imagedestroy($src); imagedestroy($tmp); echo ' <div style="float:left; width:100px;margin:10px;padding:2px;border:1px solid#ccc;"><img src="'.$filename.'"></div>'; } echo '<br /><br /> <a href="index.php">go back</a><br />';    if(isset($_POST['submit'])){      $imgNumb='1'; //ime slike 1                if (!preg_match("/\.(gif|jpg)$/i", $_FILES['img1']['name'] ) ) {         echo "<br /><br />Slika moze biti samo u .gif ili .jpg formatu<br />         <a href=\"index.php\">pokusaj ponovo</a>";         unlink($_FILES['img1']['tmp_name']);         exit(); }    if (!is_dir("../../slike/$id"))                mkdir("../../slike/$id", 0777);                      $DestinationDir="../../slike/$id/";  //Place the destination dir here      $ThumbDir="../../slike/$id/";  //Place the thumb dir here        while($_FILES["img".$imgNumb]['tmp_name']){               $Unique=$i++; // ime ostalih slika               $destination=$DestinationDir.($i).".jpg";               $thumb=$DestinationDir.($i).'_resize'.".jpg";               imgReisize($_FILES['img'.$imgNumb]['tmp_name'], $destination, $thumb);               $imgNumb++;                   }     } ;
mogu da proverim format slike (img1) sa ovim redom
if (!preg_match("/\.(gif|jpg)$/i", $_FILES['img1']['name'] ) ) {         echo "<br /><br />Slika moze biti samo u .gif ili .jpg formatu<br />         <a href=\"index.php\">pokusaj ponovo</a>";         unlink($_FILES['img1']['tmp_name']);         exit();
kako mogu da proverim istale slike (img2, img3 itd)

forma mi izgleda ovako
<form action="" method="post" enctype="multipart/form-data" name="form" id="form" onsubmit="return validate_form ( );" > <input type="file" name="img1"/><br /> <input type="file" name="img2"/><br /> <input type="file" name="img3"/><br /> <input type="file" name="img4"/><br /> <input type="file" name="img5"/><br /> <input type="file" name="img6"/><br /> <input type="submit" name="submit" value="Submit"/>



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • PHP programer
  • Pridružio: 26 Okt 2007
  • Poruke: 1064
  • Gde živiš: u Apache

U bazi treba da imaš polje koje je id. Stoga ti u query-ju ne treba id,jer će on automatski biti dodeljen pri unosu slike.

Query:

$r = mysql_query("INSERT INTO images (name, ordering, ruta, id_proizvoda) VALUES ('$_POST[name]','$_POST[ordering]','$_POST[ruta]','$_POST[id_proizvoda]')");



offline
  • Pridružio: 30 Avg 2008
  • Poruke: 91

Imam više od jedne slike,(6 slika), da li će svaka slika posebno imati svoj id?

offline
  • PHP programer
  • Pridružio: 26 Okt 2007
  • Poruke: 1064
  • Gde živiš: u Apache

Svaka slika će imati svoj id,tj., svakoj će automatski biti dodeljen ID.

S tim što se podrazumeva da u bazi/tabeli imaš polje ID. Wink

offline
  • Pridružio: 30 Avg 2008
  • Poruke: 91

Napisano: 08 Jun 2011 13:15

imam u bazi:

id(autoincrement)
name
ordering
path
acco_id

gore navedunu formu želim da koristim za upload slika i baze

Dopuna: 08 Jun 2011 13:37

hvala pomogao si mi, sad još samo da ubacim odgovarajući value za svako polje

Dopuna: 08 Jun 2011 15:42

Ok sada sve radi, interesujeme kako mogu da postavim proveru formata slika, želim da mogu biti samo jpg i gif.

Ako želim proveriti sliku 1 onda ovo radi
if (!preg_match("/\.(gif|jpg)$/i", $_FILES['img' .$proveri. '']['name']  ) ) {         echo "<br /><br />Slika moze biti samo u .gif ili .jpg formatu<br />         <a href=\"index.php\">pokusaj ponovo</a>";         unlink($_FILES['img1']['tmp_name']);         exit();

ali kako da proverim sve slike?

Dopuna: 08 Jun 2011 15:51

Mogu da ponovim ovu proveru za svaku sliku posebno, da li je to pravi način?

Ko je trenutno na forumu
 

Ukupno su 898 korisnika na forumu :: 33 registrovanih, 8 sakrivenih i 857 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., Ben Roj, bokisha253, BRATORIII, draganca, Excalibur13, Georgius, goxin, hatman, ILGromovnik, kihot, Kubovac, Leonov, mercedesamg, Mercury, Mixelotti, operniki, opt1, ozzy, pein, Rakenica, raptorsi, ruma, sasa87, Sirius, stalja, Toper, Trpe Grozni, Tvrtko I, vukdra, wizzardone, x9, ZetaMan