Vous n'êtes pas identifié.
Le nouveau test d'extension ressemblera à ceci :
if(preg_match("#((.jp(e)?g)|(gif)|(png)){1}$#i", $_FILES['fichier']['name']))Pour ton code permettant de créer l'image, il ressemblera plutôt à ceci :
if(preg_match("#(.jp(e)?g){1}$#i", $_FILES['fichier']['name']))
{
if(imagejpeg($dimg, $dest, 100))
return true;
}
elseif(preg_match("#(.png){1}$#i", $_FILES['fichier']['name']))
{
if(imagepng($dimg, $dest, 100))
return true;
}
elseif(preg_match("#(.gif){1}$#i", $_FILES['fichier']['name']))
{
if(imagegif($dimg, $dest, 100))
return true;
}
else
{
return false;
}Hors ligne

Merci mais il y a une erreur !!
Voila le code modifier :
function cImage($max,$source,$dest)
{
$size = getimagesize($source);
$w = $size[0];
$h = $size[1];
if(preg_match("#(.jp(e)?g){1}$#i", $_FILES['fichier']['name']))
{
$simg = imagecreatefromjpeg($source);
}
elseif(preg_match("#(.png){1}$#i", $_FILES['fichier']['name']))
{
$simg = imagecreatefrompng($source);
}
elseif(preg_match("#(.gif){1}$#i", $_FILES['fichier']['name']))
{
$simg = imagecreatefromgif($source);
}
$dimg = imagecreatetruecolor($max,$max);
$wm = $w/$max;
$hm = $h/$max;
$h_height = $max/2;
$w_height = $max/2;
if($w > $h)
{
$adjusted_width = $w / $hm;
$half_width = $adjusted_width / 2;
$int_width = $half_width - $w_height;
imagecopyresampled($dimg,$simg,-$int_width,0,0,0,$adjusted_width,$max,$w,$h);
}
elseif($w <= $h)
{
$adjusted_height = $h / $wm;
$half_height = $adjusted_height / 3;
$int_height = $half_height - $h_height;
if($int_height < 0) $int_height = 0;
imagecopyresampled($dimg,$simg,0,-$int_height,0,0,$max,$adjusted_height,$w,$h);
}
else
{
imagecopyresampled($dimg,$simg,0,0,0,0,$max,$max,$w,$h);
}
if(preg_match("#(.jp(e)?g){1}$#i", $_FILES['fichier']['name']))
{
if(imagejpeg($dimg, $dest, 100))
return true;
}
elseif(preg_match("#(.png){1}$#i", $_FILES['fichier']['name']))
{
if(imagepng($dimg, $dest, 100))
return true;
}
elseif(preg_match("#(.gif){1}$#i", $_FILES['fichier']['name']))
{
if(imagegif($dimg, $dest, 100))
return true;
}
else
{
return false;
}
}Il me retourne ca comme erreur :
Fatal error: imagepng() [<a href='function.imagepng'>function.imagepng</a>]: gd-png: fatal libpng error: zlib failed to initialize compressor -- stream error in /mnt/162/sdc/a/c/tydoo/compte/avatar/add.php on line 64
Hors ligne
Il s'agit d'une erreur au niveau de la fonction imagepng().
Il faut que tu nous montre les lignes concernées pour qu'on puisse y jeter un coup d'oeuil ^^
En passant, si jamais ça peut t'aider à résoudre ton problème : imagepng()
Hors ligne
Enfaite j'ai bien tout mit, mais il dit que la fonction de marche pas :(
Dans la fonction cImage(), il va choisisr le code a exécuté suivant l'extention :
if(preg_match("#(.jp(e)?g){1}$#i", $_FILES['fichier']['name']))
{
$simg = imagecreatefromjpeg($source);
}
elseif(preg_match("#(.png){1}$#i", $_FILES['fichier']['name']))
{
$simg = imagecreatefrompng($source);
}
elseif(preg_match("#(.gif){1}$#i", $_FILES['fichier']['name']))
{
$simg = imagecreatefromgif($source);
}Et plus bas pour la création de la photo, il fait la meme :
if(preg_match("#(.jp(e)?g){1}$#i", $_FILES['fichier']['name']))
{
if(imagejpeg($dimg, $dest, 100))
return true;
}
elseif(preg_match("#(.png){1}$#i", $_FILES['fichier']['name']))
{
if(imagepng($dimg, $dest, 100))
return true;
}
elseif(preg_match("#(.gif){1}$#i", $_FILES['fichier']['name']))
{
if(imagegif($dimg, $dest, 100))
return true;
}
else
{
return false;
}Par contre la fonction marche bien pour le .Jpeg et le .Gif
Dernière modification par tydoo (19-03-2011 20:57:12)
Hors ligne
Rhooooo l'autre comment il fuit les problèmes 
Hors ligne
Je sais pas si c'est la bonne solution ...
Images uniquement jpeg = beaucoup de gens ne vont pas en mettre pour illustrer leur profil ...
Bien que le jpeg soit probablement le format le plus utilisé, les gens n'ont pas tous leur images favorites d'extension jpeg...
C'est un problème que tu voudra résoudre par la suite, je te conseil donc de perdre un peu de temps dessus de suite que plus tard... D'autant plus que maintenant, le code est bien encré dans ta tête, ce ne sera surement plus le cas dans quelques semaines ^^
Hors ligne
et oaui je sais ^^ Mais fait que j'avance a fond :p Je reviendrais plus tard :)
J'ai d'autre probléme de codage, comme par exemple :
Voila mon probléme :
Dans mes statut, j'aimerais que quand il y a "@" dans la chaine qui est enregistré, le mot qui suis sois un lien comme ceci :
ENREGISTREE EN BDD @tydoo
ce qui doit sortir :
<a href="tydoo">tydoo</a>
J'ai vu qu'on pouvais remplacer une chaine de caracter, donc je peut remplacer "@" par <a href=""> mais je n'ai pas tydoo a l'interieur. Et de plus je ne peut pas mettre "</a>" apres "tydoo".
Dernière modification par tydoo (22-03-2011 19:28:37)
Hors ligne
Rien de bien compliqué, apprends à utiliser les Regex :
<?php
$nom = '@mic';
$url = preg_replace("#^(\@){1}(.*)$#", "<a href=\"$2\">$2</a>", $nom);
echo $url;
?>Hors ligne
merci pour le code =) Enfaite le code exécude "@mic"
Mais il faut qu'il l'excte dans un texte comme ca par exemple :
It's @tydoo not just about your friends... It's about you and the whole world... Sofamous is a safe place where you can express yourself and show who you are... discover and follow new people... personalize your page with widgets and unlimited customization... listen and share your favorite music.
donc il faudrais le sortir du texte et le remettre dedan a la meme place :s
Hors ligne
Le code de mic54800 te sort exactement ce que tu voulais ..si en BD tu sort @tydoo et que tu lui applique le regex il ressort exactement <a href="tydoo">tydoo</a>.
http://fr.wikipedia.org/wiki/Expression_rationnelle
http://www.expreg.com/
Hors ligne
Bon, un petit coup de pouce :
<?php
$texte = "It's @tydoo not just about your friends... It's about you and the whole world, blabla says @mic... Sofamous is a safe place where you can express yourself and show who you are... discover and follow new people... personalize your page with widgets and unlimited customization... listen and share your favorite music. @music";
$texte_avec_url = preg_replace("#(\@){1}([a-zA-Z0-9]+)#", "<a href=\"$2\">$2</a>", $texte);
echo $texte_avec_url;
?>Mais regardes bien les cours sur les regex, tu vas en avoir besoin !
Hors ligne
Le deuxième code est fait pour fonctionner avec les textes, alors que le premier fonctionnait seulement avec le pseudo du membre (pas de texte autour).
Le chapitre sur les regex n'est pas simple, mais c'est très utile et on s'en sert régulièrement !
Hors ligne
Propulsé par PunBB
© Copyright 2007
Forum créer un site