MODIFIER UNE IMAGE(REDIMENSIONNER) STOKER DANS LA BASE DE DONNÉE(MYSQL)

cs_glad Messages postés 97 Date d'inscription lundi 26 novembre 2001 Statut Membre Dernière intervention 24 février 2012 - 13 juil. 2006 à 08:01
splinterboyfr Messages postés 1 Date d'inscription dimanche 14 février 2010 Statut Membre Dernière intervention 14 février 2010 - 14 févr. 2010 à 18:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/38527-modifier-une-image-redimensionner-stoker-dans-la-base-de-donnee-mysql

splinterboyfr Messages postés 1 Date d'inscription dimanche 14 février 2010 Statut Membre Dernière intervention 14 février 2010
14 févr. 2010 à 18:44
Bonjour tout le monde !
Désolé de déterrer un sujet de 4 ans d'âge mais j'ai juste une petite question.
Avec un formulaire j'envoie un fichier jpg à une seconde page dans laquelle j'ai placé ce code :

$file = fopen ($_FILES["img"]["tmp_name"], "rb" );
$size = filesize ($_FILES["img"]["tmp_name"]);
$content = fread ($file, $size);

$img159 = imagecreatefromstring($content);

$maxWidth= 200;
$maxHeight = 135;
$img159Width = imagesx($img159);
$img159Height = imagesy($img159);

$whFact = $maxWidth/$maxHeight;
$img159WhFact = $img159Width/$img159Height;
if($whFact < $img159WhFact){
$thumbWidth = $maxWidth;
$thumbHeight = $thumbWidth/$img159WhFact;
} else {
$thumbHeight = $maxHeight;
$thumbWidth = $thumbHeight*$img159WhFact;
}
$img159Thumb = ImageCreateTruecolor($thumbWidth, $thumbHeight);
ImageCopyResized($img159Thumb, $img159, 0, 0, 0, 0, $thumbWidth, $thumbHeight, $img159Width, $img159Height);
$img159ThumbName = "thumb_".$file;
$fp = fopen($img159ThumbName, "w");
fclose($fp);

// Ce que je ne sais pas c'est comment repasser en code binaire correctement pour insérer la petite image dans ma table (en blob). Faut-il quelque chose comme cela ? :

$file15 = fopen ($img159ThumbName, "rb" );
$size15 = filesize ($img159ThumbName);
$content15 = fread ($file15, $size15);
$final = addslashes ($content15);

// voici ensuite la requête sql que j'utilise :

mysql_query("INSERT INTO articles(temps_modification, temps_creation, contenu, titre, author, categorie, photo) VALUES('$timestamp', '$timestamp', '$nouveaucontenusansapo', '$nouveautitresansapo', '$nouveauauteursansapo', '$nouveaucategorie', '{$final}')");

Si quelqu'un a une idée ce serait vraiment gentil à lui de me répondre :)
Merci d'avance!
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 1
14 juil. 2006 à 10:20
c'est pas 'gd librery' mais 'gd library'
cs_farzit Messages postés 1 Date d'inscription dimanche 9 juin 2002 Statut Membre Dernière intervention 16 septembre 2006
13 juil. 2006 à 21:27
pour la db il suffit de creer un champ blob pas besoin de fichier (.sql)
il s'agit d'un extraction simple d'image deja stocker au niveau de la db la notion de controle sur fichier n'existe pas .

je mettrez a disposition un exemple compler la porochaine en attendant fait l'effort d'exploiter cette source qui est vraiment d'un grande itulité .
cs_glad Messages postés 97 Date d'inscription lundi 26 novembre 2001 Statut Membre Dernière intervention 24 février 2012
13 juil. 2006 à 08:08
Re,

Je n'avais pas regardé ton source...

Fais des contrôles !
Il n'y en a aucun sur les échanges de la base de données par exemple...
Vérifie que le fichier n'existe pas déjà, qu'il n'y ait pas de pb à sa création, ...

Il peut arriver 1000 trucs qd tu manipules des bases de données et des fichiers...

Aller, hop hop, j'espère que tu es en vacances pour revoir ça ;-)

Je te mets 7.
à +
cs_glad Messages postés 97 Date d'inscription lundi 26 novembre 2001 Statut Membre Dernière intervention 24 février 2012
13 juil. 2006 à 08:01
Salut

Hum ! Il n'y a pas de Zip ?
Il faudrait au moins mettre le fichier sql de ta base dans ce cas là :-)

à +
Rejoignez-nous