Ecco un esempio di codice php per aggiornare una tabella in un database con un'immagine ridimensionata e ruotata a 90 gradi:
$pdo = Database::connect();
$idArticle=$_POST["idart"];
$query = "SELECT Image FROM Table WHERE Id=?";
try{
$pdo_statement = $pdo->prepare($query);
$pdo_statement->bindParam(1,$idArticle );
$pdo_statement->execute();
$num = $pdo_statement->rowCount();
if ($num) {
$row = $pdo_statement->fetch(PDO::FETCH_ASSOC);
if($row['Image']!=null){
$image = imagecreatefromstring($row['Image']);
$w = imagesx($image);
$h = imagesy($image);
//resize image
$ratio=0.5;
$larg = $w/$ratio;
$alt = $h/$ratio;
$image = imagescale($image, $larg, $alt);
ob_start();
//rotate image
$transp = imagecolorallocatealpha($image,0,0,0,127 );
$image = imagerotate($image, 90, $transp, 1);
imagejpeg($image);
$contents = ob_get_contents();
ob_end_clean();
imagedestroy($image);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "UPDATE Table set Image=? WHERE Id=?";
$pdo = $pdo->prepare($sql);
$pdo->bindParam(1, $contents, PDO::PARAM_LOB);
$pdo->bindParam(2, $idArticle);
$pdo->execute();
echo " img src='data:image/jpeg;base64,".base64_encode($contents)."' / ";
}
}else{
return null;
}
}catch(PDOException $e)
{
echo $e->getMessage();
}
Database::disconnect();