Modifier une image(redimensionner) stoker dans la base de donnée(mysql)

Contenu du snippet

importer une image d'une base de donnée mysql puis la redimensionner avec gd librery
la base de donné est simple est contient une seule image (juste comme exemple)

Source / Exemple :


<?php
mysql_connect("localhost", "user", "password");
mysql_select_db("nom_database");
$req = "SELECT img_blob ".
"FROM arbres WHERE id=360";
$result = mysql_query($req);
$data = mysql_result($result, 0, "img_blob");
$img = imagecreatefromstring($data);
// taille de la zone ou on va affiché l'image
    $maxWidth=  65;
    $maxHeight = 72;

	$imgWidth = imagesx($img);
	$imgHeight = imagesy($img);
	//Facteur largeur/hauteur des dimensions max
	$whFact = $maxWidth/$maxHeight;
	//Facteur largeur/hauteur de l'original
	$imgWhFact = $imgWidth/$imgHeight;
	//fixe les dimensions du thumb
	if($whFact < $imgWhFact){//Si largeur déterminante
		$thumbWidth  = $maxWidth;
		$thumbHeight = $thumbWidth/$imgWhFact;
	} else { //Si hauteur déterminante
		$thumbHeight = $maxHeight;
		$thumbWidth = $thumbHeight*$imgWhFact;
	}

	//Crée le thumb (image réduite)
	$imgThumb = ImageCreateTruecolor($thumbWidth, $thumbHeight);
	//Insère l'image de base redimensionnée
	ImageCopyResized($imgThumb, $img, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $imgWidth, $imgHeight);
	//Nom du fichier thumb
	$imgThumbName = "thumb_".$file;
	//Crée le fichier thumb
	$fp = fopen($imgThumbName, "w");
	fclose($fp);
	//Renvoie le thumb créé
	ImageJpeg($imgThumb, $imgThumbName);
    //header("content-type:image/jpeg";
	ImageJpeg($imgThumb);

?>

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.