redirection selon une fonction

redirection selon une fonction - PHP - Programmation

Marsh Posté le 13-10-2004 à 14:00:46    

bonjour !
voila je souhaiterais mette un header en dehors d'une fonction et  je voudrais qu'il se declanche en fonction de celle ci.
ma fonction permet de faire des copier une image mais si l'image est en gif ou png alors il ecrit "mauvais format".
 
donc il faudrais que mon header, en bas de ma page de traitement,se declenche si le format est bien du jpg.
voici la structure de ma page de traitemement :

Code :
  1. <?
  2. //ma fonction copie
  3. function copie($fname,$nom_photo)
  4. {
  5. $info=getimagesize($fname);
  6. if($info[2] == 2)
  7. {
  8.  $coef=2;
  9.  $w=$info[0];
  10.  $h=$info[1];
  11.  $im = imagecreatefromjpeg($fname);
  12.  $im2 = imagecreatetruecolor (60, 60);
  13.  imagecopyresized($im2, $im, 0, 0, 0, 0, 60, 60, $w, $h);
  14.  imagejpeg($im2,"../images/images_designers/".$nom_photo,100);
  15.  imagedestroy($im);
  16. }
  17. else
  18. {
  19.  echo"mauvais format";
  20. }
  21. }
  22. //mes autres requetes
  23. ...
  24. mysql_query($requeteMYSQL) or die
  25. ("Erreur MySQL : " . mysql_error());
  26. mysql_close($connexion);
  27. //mon header (en fin de page)
  28. header("Location:index.php" );
  29. ?>


...j'ai essayé ca mais bien sure, ca ne marche pas !

Code :
  1. if($info[2] == 2)
  2. {header("Location:index.php" );}


 
merci de votre aide


Message édité par attentio le 24-03-2005 à 21:05:47

---------------
L'ordinateur a de la mémoire mais aucun souvenir ...
Reply

Marsh Posté le 13-10-2004 à 14:00:46   

Reply

Marsh Posté le 13-10-2004 à 16:53:33    

Ce qui ne marche pas c'est la redirection ... Tu as un message d'erreur ?
 
Test avec :
 
<META HTTP-EQUIV="Refresh" CONTENT="0;URL=index.php">
 
à la place de ton header


Message édité par cppa_mofo le 13-10-2004 à 16:54:03
Reply

Marsh Posté le 13-10-2004 à 18:37:59    

non ... pas de message d'erreur...mais si je veux que, si il faitle echo"mauvais format" alors le header ne doit pas se faire.
 
ps : le <META>,je peux le mettre a la fin de ma page?

Reply

Marsh Posté le 13-10-2004 à 19:05:45    

Qui doit vérifier le format ? ta fonction ? si oui, il faudrait qu'elle retourne qqch pour que tu puisses déterminer ailleurs si tu peux ou pas faire ton header

Reply

Marsh Posté le 13-10-2004 à 19:52:02    

# else
#     {
#         echo "mauvais format";
#         echo "<META HTTP-EQUIV="Refresh" CONTENT="0;URL=index.php">";
#     }

Reply

Marsh Posté le 13-10-2004 à 20:31:14    

desolé...je ne dois pas etre tres clair!
j'ai ma fonction qui copie l'image uploadé et dans cette meme fonction si le format n'est pas du jpeg il ecrit... mauvais format.
mais apres cette fonction G d'autres intructions et en fait je voudrais une redirection en fin de page (apres toutes les instructions)SAUF SI le format n'est pas bon

Code :
  1. <?
  2. //ma fonction copie
  3. function copie($fname,$nom_photo)
  4. {
  5. $info=getimagesize($fname);
  6. if($info[2] == 2)
  7. {
  8. $coef=2;
  9. $w=$info[0];
  10. $h=$info[1];
  11. $im = imagecreatefromjpeg($fname);
  12. $im2 = imagecreatetruecolor (60, 60);
  13. imagecopyresized($im2, $im, 0, 0, 0, 0, 60, 60, $w, $h);
  14. imagejpeg($im2,"../images/images_designers/".$nom_photo,100);
  15. imagedestroy($im);
  16. }
  17. else
  18. {
  19. echo"mauvais format";
  20. }
  21. }
  22. copie($_FILES['photo']['tmp_name'],$nom_photo);
  23. //mes autres requetes
  24. insert into ...etc...etc..
  25. ...
  26. mysql_query($requeteMYSQL) or die
  27. ("Erreur MySQL : " . mysql_error()); 
  28. mysql_close($connexion);
  29. //mon header (en fin de page)sauf si format est diff. de jpeg
  30. // dansla fonction copie $info[2] doit etre different de 2
  31. header("Location:index.php" );
  32. ?>


 
merci de votre aide


Message édité par attentio le 13-10-2004 à 20:33:28
Reply

Marsh Posté le 13-10-2004 à 21:53:21    

Je vais dire un truc idiot, mais pourquoi tu fais pas renvoyer une valeur genre TRUE|FALSE par ta fct copie()? Tu récupères cette valeur (ligne 22) et tu l'emploies comme un flag pour déclencher ou non l'opération voulue.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed