Erreur de synthax guillement, simple quote

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Erreur de synthax guillement, simple quote

par ichiro » 25 févr. 2008, 17:33

il faut que je gratte encore un peu mais c'est quand même plus simple avec les variables séparés :wink:
Je vais tenter de résoudre le problème je reviendrai si je galère encore :P
Merci en tout cas.
++

EDIT:
Merci ca marche nikel, bien penser à retourner l'image redimensionnée dans la fonction et ça roule tout seul :D

par d0m » 25 févr. 2008, 17:20

Salut,

Il te faut 4 arguments pour ta fonction, toi tu en a mis 3 car tu as fait des 2 premiers arguments une seule chaine :
redimage($prod[$fiche]['img_prod'].",upload/tmp/".$prod[$fiche]['img_prod']."",300,300)
et tu mets des quotes inutiles.

si tu te perds, commence par déterminer les 4 variables individuellement :
$src  = $prod[$fiche]['img_prod'];
$dest = 'upload/tmp/'.$prod[$fiche]['img_prod'];
$w    = 300;
$h     = 300;
redimage($src,$dest,$w,$h);
et remplace après par leur contenu respectifs :
redimage($prod[$fiche]['img_prod'],'upload/tmp/'.$prod[$fiche]['img_prod'],300,300)

Erreur de synthax guillement, simple quote

par ichiro » 25 févr. 2008, 17:13

Salut à tous.
Voila j'aimerai redimensionner une image sur un catalogue en ligne.
Avec firefox j'ai pas trop de problème puisque le css est bien interprété. Cela dis ce n'est pas tout à fait la même chose avec internet explorer. Du coup j'ai pris une fonction toute faite pour redimensionner les images. La fonction marche nikel.
function redimage($img_src,$img_dest,$dst_w,$dst_h) {
   // Lit les dimensions de l'image
   $size = GetImageSize($img_src);  
   $src_w = $size[0]; $src_h = $size[1];  
   // Teste les dimensions tenant dans la zone
   $test_h = round(($dst_w / $src_w) * $src_h);
   $test_w = round(($dst_h / $src_h) * $src_w);
   // Si Height final non précisé (0)
   if(!$dst_h) $dst_h = $test_h;
   // Sinon si Width final non précisé (0)
   elseif(!$dst_w) $dst_w = $test_w;
   // Sinon teste quel redimensionnement tient dans la zone
   elseif($test_h>$dst_h) $dst_w = $test_w;
   else $dst_h = $test_h;

   // La vignette existe ?
   $test = (file_exists($img_dest));
   // L'original a été modifié ?
   if($test)
      $test = (filemtime($img_dest)>filemtime($img_src));
   // Les dimensions de la vignette sont correctes ?
   if($test) {
      $size2 = GetImageSize($img_dest);
      $test = ($size2[0]==$dst_w);
      $test = ($size2[1]==$dst_h);
   }

   // Créer la vignette ?
   if(!$test) {
      // Crée une image vierge aux bonnes dimensions
      $dst_im = ImageCreateTrueColor($dst_w,$dst_h); 
      // Copie dedans l'image initiale redimensionnée
      $src_im = ImageCreateFromJpeg($img_src);
      ImageCopyResampled($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
      // Sauve la nouvelle image
      ImageJpeg($dst_im,$img_dest);
      // Détruis les tampons
      ImageDestroy($dst_im);  
      ImageDestroy($src_im);
   }

   Affiche le descritif de la vignette
   echo "SRC='".$img_dest."' WIDTH=".$dst_w." HEIGHT=".$dst_h;
}
Maintenant j'aimerai me servir de cette fonction pour mon catalogue en ligne. Chaque produit est stocké dans un tableau, ensuite je fais un foreach pour afficher tous les éléments du tableau. Je ne veux pas surcharger la page donc voila juste la partie qui ne marche pas

foreach($prod as $value){
	//===ici chaque produit ========
$html = "
...
<img src='upload/".redimage($prod[$fiche]['img_prod'].",upload/tmp/".$prod[$fiche]['img_prod']."",300,300)."' border=0 class=visu_img
>";
...
   		
		
        //===fin produit =============
	//$html .=$prod[2]['nom_prod'];
	echo $html;
	$fiche++;
//fin foreach
}
Je n'arrive pas à mettre la fonction sans que ca me retourne une erreur de sythaxe.
Warning: Missing argument 4 for redimage()
Je suis un peu perdu entre les guillemets et les simples quote. J'espere m'etre fait comprendre :roll: . Je donnerai plus de details si besoin est. Merci