Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4500 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Php] Miniatures d'images (à la imageshack)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Php] Miniatures d'images (à la imageshack)

n°1388325
Phpuck
Php powaaa
Posté le 15-06-2006 à 17:12:12  profilanswer
 

Donc j'étais un train de coder ce qui devait être normalement un travail de menuisier en faisant le boucher  :sarcastic:  ,
tout avait l'air de marcher, je prennais le chemin de l'image inscrit dans une base de donnée, je rétrécissais l'image et ajoutais une bande noir en y inscrivant la vraie taille quand je remarque que mon code ne sélectionne que la première entrée de ma base et pourtant il y a bien la traditionnelle boucle.
 
Mon code:
 

Code :
  1. <;?
  2. mysql_connect("localhost", "", "" );
  3. mysql_select_db("" );
  4. $reponse = mysql_query("SELECT * FROM blogimage" );
  5. while ($donnees = mysql_fetch_array($reponse))
  6. {
  7. $iimage = $donnees['image'];
  8. header ("Content-type: image/jpeg" );
  9. $image = imagecreatefromjpeg("$iimage" );
  10. $destination = imagecreatetruecolor(200, 150);
  11. $couleur = imagecolorallocate($image, 0, 0, 0);
  12. $largeur_source = imagesx($image);
  13. $hauteur_source = imagesy($image);
  14. $largeur_destination = imagesx($destination);
  15. $hauteur_destination = imagesy($destination);
  16. imagecopyresampled($destination, $image, 0, 0, 0, 0,
  17. $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
  18. $image2 = $destination;
  19. $couleur2 = imagecolorallocate($image2, 0, 0, 0);
  20. $largeur2_source = imagesx($image2);
  21. $hauteur2_source = imagesy($image2);
  22. $x1 = $hauteur2_source - 15;
  23. ImageFilledRectangle ($image2, 0, $x1, $largeur2_source, $hauteur2_source, $couleur2);
  24. $blanc = imagecolorallocate($image2, 255, 255, 255);
  25. imagestring($image2, 4, 5, $x1, "Taille réelle : $largeur_source,$hauteur_source", $blanc);
  26. imagejpeg($image2);
  27. }
  28. mysql_close();
  29. ?>


 
 
Pouvez vous m'aider ?
 
Merci d'avance.

mood
Publicité
Posté le 15-06-2006 à 17:12:12  profilanswer
 

n°1388329
Sebou77
French Tech powaa :-)
Posté le 15-06-2006 à 17:15:20  profilanswer
 

manque un ; à ta requete

n°1388330
newneo2001
Posté le 15-06-2006 à 17:15:38  profilanswer
 

je sais pa si c'est pas ton  
 
header ("Content-type: image/jpeg" );
 
qui viendrait poser pb lors du 2e passage.
 
tu as essayé aussi de faire un simple  
 
echo $donnees['image'];
 
pour voir si toutes tes images sont bien là ?
 
@++

n°1388332
Phpuck
Php powaaa
Posté le 15-06-2006 à 17:16:50  profilanswer
 

C'est une boucle, il n'y en a pas besoin

n°1388333
Sebou77
French Tech powaa :-)
Posté le 15-06-2006 à 17:17:38  profilanswer
 

en effet un echo donne toujorus beaucoup d'info ;)

n°1388336
Phpuck
Php powaaa
Posté le 15-06-2006 à 17:21:00  profilanswer
 

Ca marche avec l'echo seul, j'ai mis mon header en debut de code, ça revient au même :)

n°1388337
Sebou77
French Tech powaa :-)
Posté le 15-06-2006 à 17:21:37  profilanswer
 

et le ; tu l'a rajouté ?

n°1388339
Phpuck
Php powaaa
Posté le 15-06-2006 à 17:24:11  profilanswer
 

si c'est à cette ligne là que tu fais allusion :
while ($donnees = mysql_fetch_array($reponse))
 
Il n'y a pas besoin car c'est une boucle ;)

n°1388340
Sebou77
French Tech powaa :-)
Posté le 15-06-2006 à 17:27:22  profilanswer
 

heu me prends pas pour un boulet ... :lol:
 
C'est à ta requête SQL qu'il manque un ;

n°1388341
newneo2001
Posté le 15-06-2006 à 17:27:56  profilanswer
 

moi c'est le header qui me gene pcq normalement ca veut dire que c'est tout ta page qui va etre considéré comme une image.
 
j'utilise des créations de miniatures à la volée aussi mais je ne balance pas de header image
 
d'ailleurs voici la fonction que j'ai adaptée et complétée pour mes besoin
http://www.asp-php.net/scripts/asp-php/vignette.php

mood
Publicité
Posté le 15-06-2006 à 17:27:56  profilanswer
 

n°1388342
newneo2001
Posté le 15-06-2006 à 17:28:45  profilanswer
 

sebou77 : si son echo lui renvoit toutes les info c'est que ca requete fonctionne je pense, non ?

n°1388343
zapan666
Tout est relatif
Posté le 15-06-2006 à 17:30:37  profilanswer
 

Ta miniature, tu l'enregistre sur le disque apres ou tu l'envoie au naviagateur ?
 
Si tu l'envoie au navigateur je vois pas comment tu y arrive car c'est qu'une image a la fois et si c'est sur le disque, header sert a rien car c'est pour l'envoie aux navigateurs internet.


---------------
my flick r - Just Tab it !
n°1388345
Phpuck
Php powaaa
Posté le 15-06-2006 à 17:31:14  profilanswer
 

Mmh il me semble qu'il s'y trouve non ?
 
Je te prends pas pour un boulet mais heu jtrouvais pas ou j'avais pas mis de ; et c'est le seul endroit près de la requette qui n'en n'a pas besoin ^^.

n°1388347
newneo2001
Posté le 15-06-2006 à 17:31:42  profilanswer
 

c'est ce que je disais c'est le header qui fait planter.
merci zapan666

n°1388348
newneo2001
Posté le 15-06-2006 à 17:32:30  profilanswer
 

Phpuck :
 
mais il te parle de ça
 
$reponse = mysql_query("SELECT * FROM blogimage;" );
 
mais ca vient pas de là ton erreur

n°1388349
Sebou77
French Tech powaa :-)
Posté le 15-06-2006 à 17:33:51  profilanswer
 

Bon en effet sa requete doit fonctionner, mais juste pour Phpuck c'est dans la requete sql qu'il manque un ; pas à la fin de ta ligne php mais DANS ton mysqlquery, toute requête sql se finie par un ; :)
Enfin bon je chipote ... :)

n°1388350
Sebou77
French Tech powaa :-)
Posté le 15-06-2006 à 17:34:07  profilanswer
 

grilled

n°1388351
Phpuck
Php powaaa
Posté le 15-06-2006 à 17:34:22  profilanswer
 

newneo2001> Ton pseudo correspond parfaitement à ce que j'obtiens quand je ne le mets pas, bienvenue dans la matrice Neo ^^
 
zapan666> L'image est sur mon serveur et dans une base de donnée je stock les chemins d'ou la requette sql ;)

n°1388386
Phpuck
Php powaaa
Posté le 15-06-2006 à 19:01:52  profilanswer
 

J'ai rajouté le ; rien en se passe, il fallait s'en douter. Par contre découverte interressante le problème viendrait du "imagejpeg($image2);"
 
ce n'est qu'une supposition mais je croix être sur la bonne voie :).

n°1388655
nemohp
Adepte du provisoire permanent
Posté le 16-06-2006 à 09:41:21  profilanswer
 

Si ça peux t'inspirer, voici ma méthode de miniaturisation d'image (compatible JPG, PNG, GIF) :
 

Code :
  1. ////////////////////script petite image
  2.           // nom du dossier
  3.           $mini_destination="../img/produits/mini/";
  4.           //nom du chemin avec nom image
  5.           //$mini_fichier = $upload_destination.$upload_fichier;
  6.           $mini_fichier=$copie;
  7.           // hauteur maximale exprim?e en pixel
  8.           $hauteur_max = "200";
  9.           $largeur_max = "200";
  10.           //info sur image
  11.           //getimagesize() retourne un tableau de 4 ?l?ments.
  12.           //   L'index 0 contient la largeur.
  13.           //   L'index 1 contient la longueur.
  14.           //   L'index 2 contient le type de l'image : 1 = GIF, 2 = JPG, 3 = PNG.
  15.           //   L'index 3 contient la cha?ne ? placer dans les balises HTML : "height=xxx width=xxx".
  16.           $infos = @getimagesize($mini_fichier);
  17.           $largeur=$infos[0];
  18.           $hauteur=$infos[1];
  19.           $type=$infos[2];
  20.           // redimensionner dimension
  21.           if ( $hauteur > $hauteur_max || $largeur > $largeur_max )
  22.           {
  23.             if ( $hauteur > $largeur)
  24.             {
  25.               $mini_largeur = $largeur*$hauteur_max/$hauteur;
  26.               $mini_hauteur = $hauteur_max;
  27.             }
  28.             else
  29.             {
  30.               $mini_largeur = $largeur_max ;
  31.               $mini_hauteur = $hauteur*$largeur_max/$largeur;
  32.             }
  33.             //creation du nouvelle image
  34.             switch ($type)
  35.             {
  36.                  case 1 :
  37.                    // gif
  38.                    $original = imagecreatefromgif($mini_fichier);
  39.                    break;
  40.                  case 2 :
  41.                    // jpg
  42.                    $original = imagecreatefromjpeg($mini_fichier);
  43.                    break;
  44.                  case 3 :
  45.                    // png
  46.                    $original = imagecreatefrompng($mini_fichier);
  47.                    break;
  48.             }
  49.             $mini = imagecreatetruecolor($mini_largeur,$mini_hauteur);
  50.             imagecopyresampled($mini,$original,0,0,0,0,$mini_largeur,$mini_hauteur,$largeur,$hauteur);
  51.             imagejpeg($mini,$mini_fichier);
  52.           }

n°1388844
Phpuck
Php powaaa
Posté le 16-06-2006 à 11:40:43  profilanswer
 

Ton code n'est pas mal mais ce n'est pas l'effet recherché ;)

n°1389112
Phpuck
Php powaaa
Posté le 16-06-2006 à 15:14:39  profilanswer
 

Bon bon bon y a du nouveau, apparement les images sont bien toutes prise mais s'affichent l'une sur l'autres, j'ai besoin d'aide pour les afficher l'une à coté de l'autre.

n°1389180
Phpuck
Php powaaa
Posté le 16-06-2006 à 16:00:55  profilanswer
 

C'est bon, merci pour vos réponse je mis suis pris autrement, je crée la miniature pendant l'upload et l'affiche ensuite merci pour toute vos réponses ;)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Php] Miniatures d'images (à la imageshack)

 

Sujets relatifs
[HELP] Existe-il une limite de nombre de sessions PHP ?images defilantes php
Création de wiki ... Quelques questions.[Array Filter PHP]Php débutant (vraiment)
Help : Check des dimensions d'images lors d'un Upload[RESOLU] liaison javascript / PHP
phpATM - PHP Transfer Manager[HTML/CSS] Firefox et images non dispo
[C] SDL_Image.h ect... problème de compilation il aime po mes images..[PHP] pourquoi ma page généré est tout blanche sans erreur ?
Plus de sujets relatifs à : [Php] Miniatures d'images (à la imageshack)


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)