bliotheque GD

Eléphant du PHP | 135 Messages

10 nov. 2009, 19:03

Bonjour,

Je sollicite votre connaissance encore un petit peu.

Le code suivant marche très bien en local mais il ne veut pas marcher sur le serveur, ou en tout cas il n'affiche pas l'image:
	if (exif_imagetype($c) == IMAGETYPE_JPEG )
	{
		$source = imagecreatefromjpeg($c); // La photo est la source
		$ws = imagesx($source);// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
		$hs = imagesy($source);
		if (($ws/$hs)>1) 
		{
			$wsx=600;
			$hsx=round(($wsx/$ws)*$hs);
		}else
		{
			$hsx =400;
			$wsx = round(($hsx/$hs)*$ws);
		}
		$dest = imagecreatetruecolor($wsx, $hsx); // On crée la miniature vide
		$wd = imagesx($dest);
		$hd = imagesy($dest);
		// On créé l'image aux dimensions voulu soit $hd et $wd
		imagecopyresampled($dest, $source, 0, 0, 0, 0, $wd, $hd, $ws, $hs);
		// On enregistre la miniature"
		imagejpeg($dest);
	}
la bibliothèque gd du serveur est activé avec ces paramètres.

Code : Tout sélectionner

gd GD Support enabled GD Version bundled (2.0.34 compatible) FreeType Support enabled FreeType Linkage with freetype FreeType Version 2.2.1 GIF Read Support enabled GIF Create Support enabled JPG Support enabled PNG Support enabled WBMP Support enabled XPM Support enabled XBM Support enabled
Merci d'avance pour votre aide. :)
Des noeuds au cerveau!

Eléphant du PHP | 135 Messages

10 nov. 2009, 19:48

J'ai essayé avec ce code sur le serveur: et il marche, il m'affiche une image.
$image = imagecreate(200,50);

$orange = imagecolorallocate($image, 255, 128, 0); // Le fond est orange (car c'est la première couleur)
$bleu = imagecolorallocate($image, 0, 0, 255);
$bleuclair = imagecolorallocate($image, 156, 227, 254);
$noir = imagecolorallocate($image, 0, 0, 0);
$blanc = imagecolorallocate($image, 255, 255, 255);

imagestring($image, 4, 35, 15, "Salut les Zér0s !", $bleu);
imagecolortransparent($image, $orange); // On rend le fond orange transparent

imagepng($image);
plein de questions je me pose
Des noeuds au cerveau!

ViPHP
fab
ViPHP | 2657 Messages

10 nov. 2009, 20:54

Tu as un messager d'erreur ? car nous dire que ça marche pas ça nous avance pas trop :)
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Eléphant du PHP | 135 Messages

10 nov. 2009, 21:21

ben non justement pas de message d'erreur.
echo "<img src='Img/FrontView.php?i=FrontView' />";
J'utilise ce scipt pour appeler l'image PHP... à tout hasard.

Ce qui me rend fou c'est que ça marche en local et pas sur le serveur, pourtant la bibliothèque GD est activée sur les deux (toutefois les version sont différentes pour la configuration local : GD Version: bundled (2.0.28 compatible) et FreeType Version: 2.1.9 ) mais bon,...

EDIT:
En fait quand je fait une erreur sur un fichier php pour créer une image, donc avec un header du type:
header ("Content-type: image/jpeg");
Ben il m'affiche pas les erreurs, il affiche rien d'ailleurs.

si il y a un moyen pour afficher les erreurs, je suis pour. merci[/i]
Des noeuds au cerveau!

ViPHP
fab
ViPHP | 2657 Messages

11 nov. 2009, 02:31

Tu as accès à ton fichier de configuration php.ini sur le serveur? pour voir les directives errors_display et error_reporting ?
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Eléphant du PHP | 135 Messages

11 nov. 2009, 12:03

Ben non malheureusement pas d'accès au fichier de config, c'est un hébergement standard. Cependant j'ai collé en dessous les lignes obtenus pas le fichier info.php

display_errors On On
display_startup_errors Off Off

error_log error_log error_log

error_reporting 6135 6135

Merci en tout cas. je suis prêt à donner tout type d'infos pour trouver la solution, sauf les mensurations de ma femme :D ... de toute façon j'ai pas de femme.

A tout hasard est-il possible d'afficher une image.php directement, sans passer par les balises images??
Est-ce que là il n'afficherais pas le message d'erreur??

Merci

David
Des noeuds au cerveau!

ViPHP
fab
ViPHP | 2657 Messages

11 nov. 2009, 13:09

Bon on va essayé quelque chose
en début de script met ça au cas ou
error_reporting(E_ALL);
ini_set("display_errors", 1);
Enlève le header() et met un path en deuxième paramètre de imagepng() histoire de créer le fichier sur le serveur
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Eléphant du PHP | 135 Messages

11 nov. 2009, 16:00

Bonjour fab,

Donc j'ai bien mis les lignes de code en début de fichier et fais un path pour l'image.
En local l'image était bien créée, côté serveur NIET rien, peau de balles, pas d'images.

J'ai fais le signe croix, 3 tours sur moi-même en tapant des mains sur un pied et en me jettant tête première contre un mur porteur pour conjurer le sort.

Et quand je suis revenu à moi, je me suis aperçu que je ne n'avais pas respecté la casse, une majuscule de m***de dans un nom de fichier. les boules, je me suis cassé la tête pour rien :mrgreen: .

En tout cas je te remercie fab, parce que sans tes infos je serais resté à me creuser la tête dans la même direction.

David.
Des noeuds au cerveau!

ViPHP
fab
ViPHP | 2657 Messages

11 nov. 2009, 19:27

Et bien content de t'avoir aider à trouver la solution, je dois t'avouer que sur le coup j'étais à des années lumières lol mais pourquoi pas :p
Seul l'intelligent a le pouvoir de se trouver con
try { work(); } catch(FlemmeExeption $e) { sleep(84600); }

Eléphant du PHP | 135 Messages

11 nov. 2009, 20:28

De toute façon c'était difficile de trouver tout de suite d'ou venait le problème sans avoir les noms des fichiers sous les yeux, je pense.
Bref, le problème est résolu je dormirais mieux cette nuit.

A+
Des noeuds au cerveau!