Comprendre le bitcoin, l'intelligence artificielle, faire un site web... En 3 minutes en vidéo!

[PHP] Redimensionnement image

Forum informatique > Aide création et gestion de site > [PHP] Redimensionnement image

<<<1>>>

[Page 1 sur 1 - 5 messages]
Informations Messages

JackAlex

Avatar de JackAlex
76 messages
DVD-RW
DVD-RW

Lien direct Le 03 Décembre 2008 à 11h03

Bonjour @ tous,
voilà c'est mon premier site en PHP que j'essai de réalisé en piochant des éléments à droite et à gauche. Dans celui-ci j'ai une section avec un petit agenda tout simple que j'ai créé. J'ai une image à coté de chacun. Cependant, pour évité d'avoir de grosses images recalculé par le code HTML/CSS, j'aimerai pouvoir redimensionner les images à l'envoi.

Voici mes extraits de code qui traitent la fonction :

Code


16. if(!isset($_FILES['photo'])) $photo="";
17. else $photo=$_FILES['photo'];


// Le fichier
35. $filename = basename($_FILE['photo']['tmp_name']);

// Définition de la largeur et de la hauteur maximale
38. $width = 108 ;
39. $height = 72 ;

// Cacul des nouvelles dimensions
42. list( $width_orig , $height_orig ) = getimagesize ( $filename );

44. $ratio_orig = $width_orig / $height_orig ;

46. if ( $width / $height > $ratio_orig ) {
47. $width = $height * $ratio_orig ;
48. } else {
49. $height = $width / $ratio_orig ;
50. }

// Redimensionnement
53. $image_p = imagecreatetruecolor ( $width , $height );
54. $image = imagecreatefromjpeg ( $filename );
55. imagecopyresampled ( $image_p , $image , 0 , 0 , 0 , 0 , $width , $height , $width_orig , $height_orig );

/*// Affichage
ob_start();
imagejpeg ( $image_p , null , 100 );
$image_blob = ob_get_clean();*/

62. $filename=ereg_replace(' ','-',$filename);
63. $filename=ereg_replace('\'','-',$filename);
64. move_uploaded_file($image ['tmp_name'],"images/artistes/photo_".$filename); // name et tmp_name fonctions php et non variables (tags) | on prends nom photo depuis zone temporaire navigateur pour la bouger vers le serveur.


71. $connexion=mysql_connect("localhost","root","");
72. mysql_select_db("ajc",$connexion);

74. $requete="INSERT INTO agenda(titre,type,descriptif,photo,affiche,date,heure,affichage) VALUES('$titre','$type','$descriptif','$filename','$nomaffiche','$date','$heure','$af fichage')";
75. mysql_query($requete) or die(mysql_error());
76. mysql_close($connexion);



Donc au final j'ai rien dans mon dossier, et dans le champ "photo" de ma table SQL rien non plus...
Aucun message d'erreur à l'envoi. Cependant, j'ai des infos dans le log php_error :

[02-Dec-2008 18:12:55] PHP Warning: Division by zero in H:\wamp\www\Auditorium Jean Cocteau\agenda_ajout_t.php on line 44

[02-Dec-2008 18:12:55] PHP Warning: imagecreatetruecolor() [<a href='function.imagecreatetruecolor'>function.imagecreatetruecolor</a>]: Invalid image dimensions in H:\wamp\www\Auditorium Jean Cocteau\agenda_ajout_t.php on line 53

[02-Dec-2008 18:12:55] PHP Warning: imagecopyresampled(): supplied argument is not a valid Image resource in H:\wamp\www\Auditorium Jean Cocteau\agenda_ajout_t.php on line 55


Voilà, merci d'avance pour vos réponsesClin d'oeil
++
Alexandre[/code]

 

Publicité

Pouzy

Avatar de Pouzy
14224 messages
No-Life
No-Life
Administrateur
Administrateur

Lien direct Le 03 Décembre 2008 à 13h04

Donne nous surtout les lignes 44, 53 à 55 et environnantesClin d'oeil

Devenez fan d'Aidoweb sur Facebook o/ - N'oubliez pas de cliquer sur [Résolu] une fois votre problème réglé
 

JackAlex

Avatar de JackAlex
76 messages
DVD-RW
DVD-RW

Lien direct Le 03 Décembre 2008 à 13h57

j'ai édité avec les numéros des lignes.

 

ju2cho7

Avatar de ju2cho7
7342 messages
No-Life
No-Life
AidoCodeur
AidoCodeur
Modérateur
Modérateur

Lien direct Le 03 Décembre 2008 à 14h27

la variable $height_orig est vide apparemment.....

Nous ne fournissons pas d'aide par MP. ;)
 

cadav0r

Avatar de cadav0r
714 messages
Carte Mère
Carte Mère

Lien direct Le 04 Décembre 2008 à 23h38

Je pense qu'il faut que tu fasse beaucoup plus de test de validation des données!!!

Exemple vérifier que la variable $filename ne soit pas vide avant de la passer à la fonction getimagesize()
Tu peux tester aussi width_orig et height_orig, mais aussi la valeur de retour des fonction que tu utilises (exemple move_uploaded_file() )

Le problème peut venir simplement du début, la variable $filename...

Affaire à suivre...

 

<<<1>>>

[Page 1 sur 1 - 5 messages]

Forum informatique > Aide création et gestion de site > [PHP] Redimensionnement image