[ KameniVitez @ 06.09.2010. 10:45 ] @
Cao svima,

prilikom rada s php-om, pokušao sam da iz mysql baze izvučem sliku (koju sam sačuvao direktno, kao blob tip podataka) i zatim da je rotiram, i ponovo sačuvam u bazu. Sve je bilo uspješno, i rotacija se zaista izvršila, ali nakon UPDATE-a sliku više nisam mogao da prikažem u browseru. Stvarno mi je hitno, i svaka pomoć je dobrodošla.
Hvala unaprijed

Kod za uzimanje slike iz baze i rotiranje:

Code:

<?php
include "konekcija.php";

$id = $_GET['id'];

if(!isset($id) || empty($id)){
die("Please select your image!");
}else{

$query = mysql_query("SELECT * FROM Images WHERE image_id='".$id."'");
$row = mysql_fetch_array($query);
$content = $row['image'];
$name = $row['image_name'];
$size = $row ['image_size'];
$type =$row ['image_type'];
$degrees = 90.0;
$source = imagecreatefromstring($content) ;
$rotate = imagerotate($source, $degrees, 0);


$query = "UPDATE Images SET image='".$rotate."' WHERE image_id='".$id"'";
mysql_query($query, $link) or die('Error, query failed'); 
echo "<br>Fajl $name je uspješno rotiran i pohranjen u bazu<br>";
}

?>


Edit by kazil: code tagovi

[Ovu poruku je menjao kazil dana 15.09.2010. u 22:15 GMT+1]
[ Goran Rakić @ 06.09.2010. 11:22 ] @
Funkcija imagerotate() vraća deskriptor resursa, kada se očita kao tekst to je samo tekst, na primer Resource id #4 što si ti upisao u bazu umesto sadržaja slike.

Trebalo je da koristiš imagejpeg() kako bi iz resursa dobio binarni zapis slike.

Ako nemaš rezervnu kopiju podataka, nećeš moći da povratiš slike.
[ KameniVitez @ 15.09.2010. 18:12 ] @
Znači, treba da uradim:

Code:

?php
include "konekcija.php";

$id = $_GET['id'];

if(!isset($id) || empty($id)){
die("Please select your image!");
}else{

$query = mysql_query("SELECT * FROM Images WHERE image_id='".$id."'");
$row = mysql_fetch_array($query);
$content = $row['image'];
$name = $row['image_name'];
$size = $row ['image_size'];
$type =$row ['image_type'];
$degrees = 90.0;
$source = imagecreatefromstring($content) ;
$rotate = imagerotate($source, $degrees, 0);
imagejpeg($rotate);


$query = "UPDATE Images SET image='".$rotate."' WHERE image_id='".$id"'";
mysql_query($query, $link) or die('Error, query failed'); 
echo "<br>Fajl $name je uspješno rotiran i pohranjen u bazu<br>";
}

?>


ili nešto drugo? Možeš li mi samo ispraviti ovaj kod? Bio bih ti vrlo zahvalan :))

Edit by kazil: code tagovi

[Ovu poruku je menjao kazil dana 15.09.2010. u 22:16 GMT+1]