[php] pb de miniature
Résolu
nauno
Messages postés
342
Date d'inscription
Statut
Membre
Dernière intervention
-
titou -
titou -
g attrapé ce script sur le net mais je n'arrive pas à le faire fonctionner kelk1 peut m'aider???
MERCI
$image= "1.jpg"; $largeur_max = 200; $hauteur_max = 400; $source= "C:\Program Files\EasyPHP1-8\www\puces_nautiques\annonce\photos\ "; $destination= "C:\Program Files\EasyPHP1-8\www\puces_nautiques\annonce\photos"; $prefixe = "24"; function creation_vignette($image,$largeur_max,$hauteur_max,$source,$destination,$prefixe){ if (!file_exists($source.$image)) { echo "L'image $image n'existe pas"; exit; } // On verifie que l'extention du fichier est bien une image jpg,jpeg ou gif $ext=strtolower(strrchr($image,'.')); if ($ext!=".jpg" AND $ext!=".jpeg" AND $ext!=".gif"){ echo "<br>Votre image doit être un jpg,jpeg ou gif <br>"; exit; } $size = getimagesize($source.$image); $largeur_src=$size[0]; $hauteur_src=$size[1]; //2ieme verification -> on verifie que le type du fichier est un jpg,jpeg ou gif // $size[2] -> type de l'image : 1 = GIF , 2 = JPG,JPEG if ($size[2]!=1 AND $size[2]!=2){ echo "<br>Format non supporté<br>"; exit; } if($size[2]==1){ // format gif $image_src=imagecreatefromgif($source.$image); } if($size[2]==2){ // format jpg ou jpeg $image_src=imagecreatefromjpeg($source.$image); } // on verifie que l'image source ne soit pas plus petite que l'image de destination if ($largeur_src>$largeur_max OR $hauteur_src>$hauteur_max){ // si la largeur est plus grande que la hauteur if ($hauteur_src<=$largeur_src){ $ratio=$largeur_max/$largeur_src; }else{ $ratio=$hauteur_max/$hauteur_src; } }else{ $ratio=1; // l'image créee sera identique à l'originale } $image_dest=imagecreatetruecolor(round($largeur_src*$ratio), round($hauteur_src*$ratio)); imagecopyresized($image_dest,$image_src,0,0,0,0,round($largeur_src*$ratio),round($hauteur_src*$ratio),$largeur_src,$hauteur_src); if(!imagejpeg($image_dest, $destination.$prefixe.$image)){ echo "la création de la vignette a echouée pour l'image $image"; exit; } } ?>
MERCI
A voir également:
- [php] pb de miniature
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php ✓ - Forum PHP
- Changer la miniature d'une vidéo vlc - Forum loisirs/vie pratique
- Php alert - Forum PHP
16 réponses
Bonjour,
Un indice ? Une erreur?
Un bip système?
Un ecran bleu?
Est ce que ta carte mère sent le brûlé?
Bref, sans indice c'est strictement impossible de te répondre :-)
Peut être que ce script est livré avec un fichier explicatif? Un ptit mode d'emploi?
D'autres fichiers?
Un indice ? Une erreur?
Un bip système?
Un ecran bleu?
Est ce que ta carte mère sent le brûlé?
Bref, sans indice c'est strictement impossible de te répondre :-)
Peut être que ce script est livré avec un fichier explicatif? Un ptit mode d'emploi?
D'autres fichiers?
nan il est livré tout seul
et ya aucune erreur de script ni de warning ni de parse error et tout le tralala rien du tout kedal nada!!!!!!!
le script s'exécute et pi rien... rien du tout!!!
et ya aucune erreur de script ni de warning ni de parse error et tout le tralala rien du tout kedal nada!!!!!!!
le script s'exécute et pi rien... rien du tout!!!
Ce repertoire existe chez toi?
C:\Program Files\EasyPHP1-8\www\puces_nautiques\annonce\photos\
Tu connais un peu Php?
C:\Program Files\EasyPHP1-8\www\puces_nautiques\annonce\photos\
Tu connais un peu Php?
oui le répertoire existe ya pas de pb la dessus en ce ki concerne php je suis kan meme assez limiter (je maitrise pas trop voir pas du tout les fonctions)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Si tu regardes bien les "echo" , ce script n'affiche quelque chose que si une erreur se produit.
A priori, je dirais qu'il n'ya aucun problème :-)
A priori, je dirais qu'il n'ya aucun problème :-)
nan justement parce ke effectivement il affiche ke si erreur mais si g bien compris il enregistre la miniature dans un répertoire et la ba g rien du tout
Regarde voir si tu n'as pas un ou plusieurs nouveaux fichier dans
C:\Program Files\EasyPHP1-8\www\puces_nautiques\annonce\
qui aurai(en)t pour nom:
photo241.jpg par exemple
Si c'est le cas faudra juste modifier un ptit truc....
C:\Program Files\EasyPHP1-8\www\puces_nautiques\annonce\
qui aurai(en)t pour nom:
photo241.jpg par exemple
Si c'est le cas faudra juste modifier un ptit truc....
Et si tu remplaces
par
Est ce que tu vois l'image sur ton navigateur?
if(!imagejpeg($image_dest, $destination.$prefixe.$image))
par
if(!imagejpeg($image_dest))
Est ce que tu vois l'image sur ton navigateur?
Essaie de mettre à la fin (après la dernière accolade)
$a=getimagesize($image_dest); echo $a[2];pour qu'on voie si ton image a une taille...si elle existe en somme.
Bon sang chuis bête, c'est une fonction, c'est normal que ça ne s'execute pas....
Donc au lieu de celà, après la dernière accolade, il faut taper:
Donc au lieu de celà, après la dernière accolade, il faut taper:
creation_vignette($image,$largeur_max,$hauteur_max,$source,$destination,$prefixe);
ca avance je te remercie mais ya encore un pb
ya pas un truc avec phpinfo() la dessous
Fatal error: Call to undefined function: imagecreatefromjpeg() in c:\program files\easyphp1-8\www\text.php on line 39
ya pas un truc avec phpinfo() la dessous
g trouver un autre script ki modifie la taille de l'image
il fonctionne nikel!!!
il fonctionne nikel!!!
<?php $fname="1.jpg"; function creer($fname) { $im = imagecreatefromjpeg($fname); $w=imagesx($im); $h=imagesy($im); $rapport=$w/50; $w2=50; $h2=$h/$rapport; $im2 = imagecreatetruecolor ($w2, $h2); imagecopyresized($im2, $im, 0, 0, 0, 0, $w2, $h2, $w, $h); imagejpeg($im2,$fname,25); imagedestroy($im); } creer($fname); ?>
j'ai fait :
<?php
$fname="1.jpg";
function creer($fname)
{
$im = imagecreatefromjpeg($fname);
$w=imagesx($im);
$h=imagesy($im);
$rapport=$w/50;
$w2=50;
$h2=$h/$rapport;
$im2 = imagecreatetruecolor ($w2, $h2);
imagecopyresized($im2, $im, 0, 0, 0, 0, $w2, $h2, $w, $h);
imagejpeg($im2);
}
creer($fname);
?>
J'aimerais de ce fait, afficher l'image directement vers le navigateur sans l'enregistrer mais le probleme, c qu'a l'affichage, ce n'est pas l'image mais le code de l'image qu'on voit à l'écran :-(
aurais tu une idée ?
<?php
$fname="1.jpg";
function creer($fname)
{
$im = imagecreatefromjpeg($fname);
$w=imagesx($im);
$h=imagesy($im);
$rapport=$w/50;
$w2=50;
$h2=$h/$rapport;
$im2 = imagecreatetruecolor ($w2, $h2);
imagecopyresized($im2, $im, 0, 0, 0, 0, $w2, $h2, $w, $h);
imagejpeg($im2);
}
creer($fname);
?>
J'aimerais de ce fait, afficher l'image directement vers le navigateur sans l'enregistrer mais le probleme, c qu'a l'affichage, ce n'est pas l'image mais le code de l'image qu'on voit à l'écran :-(
aurais tu une idée ?