IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

création de miniatures et header()


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de magicbisous-nours
    Inscrit en
    Octobre 2005
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 277
    Points : 177
    Points
    177
    Par défaut création de miniatures et header()
    Bonjour,
    J'essaie de faire un script PHP qui quand l'utilisateur upload une image en fait une miniature et enregistre les deux images (la miniature et l'originale uploadée par l'utilisateur).
    le problème c'est que dès que le script tombe sur une fonction imagecreate il s'arrête...
    J'ai posé la question à mon prof d'informatique qui m'a dit qu'il fallait modifier le header.
    j'ai donc essayé mais je n'avais qu'une image où il était marqué le chemin vers ma page php....
    j'ai ensuite essayé d'appeler une fonction qui fabriquerait et enregistrerait ma miniature et qui serait dans une page où le header est modifié et j'ai le droit à ce message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: Cannot modify header information - headers already sent by (output started at /home.29/b/e/a/beautifu/www/admin/a14.php:11) in /home.29/b/e/a/beautifu/www/admin/a16.php on line 3
    Quelqu'un peut m'aider svp??
    merci d'avance

    Ps : voici le code de la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <?php
    	function creation_miniature($type, $path) {
    		header("content-type:".$type);
    		switch ($type) {
    			case "image/gif":
    				$ImageChoisie = imagecreatefromgif($path);
    				break;
    			case "image/png":
    				$ImageChoisie = imagecreatefrompng($path);
    				break;
    			case "image/jpeg":
    				$ImageChoisie = imagecreatefromjpeg($path);
    				break;
    		} // on créé une copie de l'image
    		$TailleImageChoisie = getimagesize($path); //on récupère la taille de l'image
    		$NouvelleLargeur = 175;
    		$Reduction = ( ($NouvelleLargeur * 100)/$TailleImageChoisie[0] );
    		$NouvelleHauteur = ( ($TailleImageChoisie[1] * $Reduction)/100 ); //on calcule le ratio de proportion
    		$NouvelleImage = imagecreatetruecolor($NouvelleLargeur , $NouvelleHauteur); //on créé l'image
    		imagecopyresampled($NouvelleImage , $ImageChoisie, 0, 0, 0, 0, $NouvelleLargeur, $NouvelleHauteur, $TailleImageChoisie[0],$TailleImageChoisie[1]);
    		$fichier = '../miniatures/Galerie/'.$categorie;
    		switch ($type) {
    			case 'image/gif':
    				imagegif($NouvelleImage , $fichier.'/'.$nom.'.gif');
    				break;
    			case 'image/png':
    				imagepng($NouvelleImage , $fichier.'/'.$nom.'.png', 100);
    				break;
    			case 'image/jpeg':
    				imagejpeg($NouvelleImage , $fichier.'/'.$nom.'.jpg', 100);
    				break;
    		}
    	}
    ?>

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    je ne vois pas bien le rapport entre un header (info HTTP envoyée au client) et un plantage d'une fonction creation_miniature() exécutée sur le serveur...

    Pour ton message d'erreur avec le header, tu peux regarder la :
    http://php.developpez.com/faq/index....s_already_sent

    Mais quel était ton message d'erreur avant ajout de cet header ? quand tu dis que le script s'arrête, est-ce qu'il y a quelque chose d'affiché ? Est-ce que c'est immédiat ou après un certain temps (dépassement de la limite de temps d'exécution du script php, ou dépassement de la mémoire max allouée à ton script) ? Est-ce que tu avais assayé avec des images de petite taille ?

    Bref, beaucoup de questions mais peu de réposnes

  3. #3
    Membre habitué Avatar de magicbisous-nours
    Inscrit en
    Octobre 2005
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 277
    Points : 177
    Points
    177
    Par défaut
    en fait il n'y avait pas de message d'erreur....
    la page chargée était incomplète : le script s'arrêtait dès qu'il trouvait une fonction imagecreate (imagecreatetruecolor, imagecreatefrom...., etc....)
    ça c'était en local....
    apparement sur le serveur j'ai un message d'erreur (des erreurs dans le script...)
    merci

  4. #4
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    En local, est-ce que la bibliothèque gd est activée ?
    (tu peux le vérifier avec un phpinfo() )

    Et quels sont les messages d'erreur sur le serveur ?

  5. #5
    Membre habitué Avatar de magicbisous-nours
    Inscrit en
    Octobre 2005
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 277
    Points : 177
    Points
    177
    Par défaut
    en local ça a l'air d'être activé...ou alors la bibliothèque n'y est pas...
    j'utilise un apache 5.2.jesaispluscombien installé sur ma Fedora 9 depuis les dépôts officiaux.

    sur le serveur ça fonctionne c'était des petites erreurs à la con du genre des variables avec des fautes de frappe etc....

    merci encore

  6. #6
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Citation Envoyé par magicbisous-nours Voir le message
    en local ça a l'air d'être activé...ou alors la bibliothèque n'y est pas...
    En local, tu as regardé ce que retournait l'instruction phpinfo(); ?

    Si tu as une partie "gd", c'est bon, sinon, il faut que tu l'installes...

  7. #7
    Membre habitué Avatar de magicbisous-nours
    Inscrit en
    Octobre 2005
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 277
    Points : 177
    Points
    177
    Par défaut
    ben va falloir que je l'installe alors....
    mais je ne sais pas comment faire.....

Discussions similaires

  1. Réponses: 12
    Dernier message: 03/07/2008, 11h56
  2. [Galerie] Création de miniatures et les effacer ensuite ? ou pas
    Par spike2 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 31/05/2008, 19h12
  3. erreur lors de création de miniature !
    Par Byakuya dans le forum Langage
    Réponses: 5
    Dernier message: 28/05/2007, 17h31
  4. création de miniatures
    Par cyrill.gremaud dans le forum Langage
    Réponses: 4
    Dernier message: 17/06/2006, 11h19
  5. [Image] Création de miniature
    Par Crazynoss dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 12/05/2006, 04h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo