Imagecopyresampled // récupérer des images de ma table mysql et créer des vignet

allellla Messages postés 19 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 15 avril 2011 - 4 mars 2009 à 00:10
allellla Messages postés 19 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 15 avril 2011 - 7 mars 2009 à 15:01
Bonjour,

J'ai de nouveaux un problème, je souhaiterais récupérer mes images de ma table nommée "book" et de mon champs "galerie_book".
J'ai créer mon code mais il bugg, j'ai essayer d'utiliser la fonction "imagecopyresampled", et de faire une boucle while avec une incrémentation.

J'espère avoir été clair, si vous pouvez m'aider svp se serait cool,

Merci d'avance

ci-dessous mon code (qui ne fonctionne pas grrrrrrrrrrrrrrrrrrrrrrrrrrrrr)
en fait il me met ça comme erreur :

Warning: imagecreatefromjpeg(http://localhost/mon_site/images/galerie_book/Array) [function.imagecreatefromjpeg]:
failed to open stream: Une tentative de connexion a échoué car le parti
connecté n'a pas répondu convenablement au-delà d'une certaine durée ou
une connexion établie a échoué car l'hôte de connexion n'a pas répondu.
in C:\wamp\www\mon_site\book\book_page_portofolio.php on line 124

Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\mon_site\book\book_page_portofolio.php on line 124

MON CODE :

<?php

// 1  REQUETE DE RECUPERATION DES DONNEES DE LA TABLE -------------------------------------------------------------------------------------------------------------------
 
$requete_recuperation_galerie_book = 'SELECT galerie_book FROM '.$base_de_donnees.'.book limit 2;';
$affichage_galerie_book = mysql_query($requete_recuperation_galerie_book) or die('La requete "récupération dans la base sql" a échouée :
'.mysql_errno().' = '.mysql_error());

// ma variable d'url pour mes images -------------------------------------------------------------------------------------------------------------------

$bdd_url_image_galerie ='http://localhost/mon_site/images/galerie_book/';

// J'EXPLODE ------------------------------------------------------------------------------------------------------------------------------------------------------

$ligne_galerie_book = mysql_fetch_row($affichage_galerie_book);
$array_galerie_book = explode('|',$ligne_galerie_book[0]);

// ON GENERE UNE VIGNETTE VIGNETTE AVEC LA FONCTION PHP "imagecopyresampled" -----------------------------------------------------------------------------------

$source = imagecreatefromjpeg($bdd_url_image_galerie.$array_galerie_book); // La photo originale est la source
$destination = imagecreatetruecolor(200, 100); // On crée la miniature vide

// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image -----------------------------------------------------------------------------------------------------

$largeur_source = imagesx($source);
$hauteur_source = imagesy($source);
$largeur_destination = imagesx($destination);
$hauteur_destination = imagesy($destination);

// On crée la miniature ------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------

imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
$vignette = imagejpeg($destination, $array_galerie_book);

//  ON FAIT UNE BOUCLE WHILE POUR AFFICHER TOUTES LES VIGNETTES -----------------------------------------------------------------------------------------------------

$nbr_images = count($array_galerie_book);
$i=0;
while($i <= $nbr_images) //tant que le tableau a des resultats
{
echo '';
$i++;
var_dump($vignette); // pour verifier que les urls sont dans le tableau
}
?>

soyez indulgent, je suis DEBUTANTE lol

4 réponses

chasseur2 Messages postés 33 Date d'inscription vendredi 3 mars 2006 Statut Membre Dernière intervention 10 mai 2009
4 mars 2009 à 11:47
<?php

// 1  REQUETE DE RECUPERATION DES DONNEES DE LA TABLE -------------------------------------------------------------------------------------------------------------------
 
$requete_recuperation_galerie_book = 'SELECT galerie_book FROM '.$base_de_donnees.'.book limit 2;';
$affichage_galerie_book = mysql_query($requete_recuperation_galerie_book) or die('La requete "récupération dans la base sql" a échouée :
'.mysql_errno().' = '.mysql_error());

// ma variable d'url pour mes images -------------------------------------------------------------------------------------------------------------------

// $bdd_url_image_galerie ='http://localhost/mon_site/images/galerie_book/';
$bdd_url_image_galerie ='images/galerie_book/';

// J'EXPLODE ------------------------------------------------------------------------------------------------------------------------------------------------------

$ligne_galerie_book = mysql_fetch_row($affichage_galerie_book);
$array_galerie_book = explode('|',$ligne_galerie_book[0]);

// ON GENERE UNE VIGNETTE VIGNETTE AVEC LA FONCTION PHP "imagecopyresampled" -----------------------------------------------------------------------------------

$source = imagecreatefromjpeg($bdd_url_image_galerie.$array_galerie_book); // La photo originale est la source
$destination = imagecreatetruecolor(200, 100); // On crée la miniature vide

// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image -----------------------------------------------------------------------------------------------------

$largeur_source = imagesx($source);
$hauteur_source = imagesy($source);
$largeur_destination = imagesx($destination);
$hauteur_destination = imagesy($destination);

// On crée la miniature ------------------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------

imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
$vignette = imagejpeg($destination, $array_galerie_book);

//  ON FAIT UNE BOUCLE WHILE POUR AFFICHER TOUTES LES VIGNETTES -----------------------------------------------------------------------------------------------------

$nbr_images = count($array_galerie_book);
$i=0;
while($i <= $nbr_images) //tant que le tableau a des resultats
{
echo '';
$i++;
var_dump($vignette); // pour verifier que les urls sont dans le tableau
}
?>
0
allellla Messages postés 19 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 15 avril 2011
4 mars 2009 à 15:18
Bonjour,

j'ai effectuer la modification de l'url comme tu me l'as indiquer, mais cette fois-ci il me met :

Warning: imagecreatefromjpeg(images/galerie_book/Array) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in C:\wamp\www\mon_site\book\book_page_portofolio.php on line 125

Warning: imagesx(): supplied argument is not a valid Image resource in C:\wamp\www\mon_site\book\book_page_portofolio.php on line 129

Warning: imagesy(): supplied argument is not a valid Image resource in C:\wamp\www\mon_site\book\book_page_portofolio.php on line 130

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in C:\wamp\www\mon_site\book\book_page_portofolio.php on line 135
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

Il n'y aurait pas un moyen plus simple de générer des vignettes automatiquement de mes images de ma table ???
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
7 mars 2009 à 10:06
Hello,

manque un foreach ici :
// ON GENERE UNE VIGNETTE VIGNETTE AVEC LA FONCTION PHP "imagecopyresampled"

puisque il y a un explode(), on a donc un tableau, et l'url est alors fausse. Il faut faire ça pour chaque image.
Warning: imagecreatefromjpeg(images/galerie_book/Array)

Il faut apprendre à lire les messages d'erreur; ils donnent quand même souvent toutes les indications nécessaires : images/galerie_book/Array => on voit de suite que le Array est indésirable, il me semble. On remonte dans le code : ah oui, je fais un explode, j'ai donc un tableau...or, je veux les valeurs de ce tableau, c'est à dire le nom de fichiers. Donc, je fais boucle sur ce tableau.
0
allellla Messages postés 19 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 15 avril 2011
7 mars 2009 à 15:01
Bonjour

faute de débutant !!
merci pour votre aide
0
Rejoignez-nous