[php] pb de miniature

Résolu/Fermé
nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 - 20 juin 2005 à 16:20
 titou - 14 août 2007 à 08:34
g attrapé ce script sur le net mais je n'arrive pas à le faire fonctionner kelk1 peut m'aider???

$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:

16 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
20 juin 2005 à 16:30
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?
0
nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 60
20 juin 2005 à 16:33
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!!!
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
20 juin 2005 à 16:35
Ce repertoire existe chez toi?
C:\Program Files\EasyPHP1-8\www\puces_nautiques\annonce\photos\

Tu connais un peu Php?
0
nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 60
20 juin 2005 à 16:36
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
20 juin 2005 à 16:37
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 :-)
0
nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 60
20 juin 2005 à 16:38
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
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
20 juin 2005 à 16:44
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....
0
nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 60
20 juin 2005 à 16:49
nan rien du tout
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
20 juin 2005 à 16:54
Et si tu remplaces
if(!imagejpeg($image_dest, $destination.$prefixe.$image))

par
if(!imagejpeg($image_dest))


Est ce que tu vois l'image sur ton navigateur?
0
nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 60
20 juin 2005 à 17:05
non plus
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
20 juin 2005 à 17:13
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.
0
nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 60
20 juin 2005 à 17:17
$image_dest : variable non définie
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
20 juin 2005 à 17:21
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:
creation_vignette($image,$largeur_max,$hauteur_max,$source,$destination,$prefixe);
0
nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 60
20 juin 2005 à 17:28
ca avance je te remercie mais ya encore un pb

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
0
nauno Messages postés 342 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 14 mai 2009 60
20 juin 2005 à 17:57
g trouver un autre script ki modifie la taille de l'image
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);
?>
0
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 ?
0
ton premier script marche très bien chez moi...
0