FONCTION DE MINIATURISATION D'IMAGE JPEG GIF PNG

ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 - 11 juin 2005 à 12:56
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013 - 16 avril 2006 à 03:45
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/31976-fonction-de-miniaturisation-d-image-jpeg-gif-png

cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013
16 avril 2006 à 03:45
bon bah moi je n'y comprends plus rien si je mets le script tel quel en declarant les variables au debut ca ne fonctionne pas mais si je mets directement les valeurs a la place du nom des variables dans le script ca fonctionne, j'ai reussi a m'arrangé a peu pres sauf pour un truc qui me saoule :

$path = './images/';
$fichierSource = '028.jpg';
$image = $path.$fichierSource;

(...)

$image_size=getimagesize($image);

switch ( $image_size[2] ) {

case 1 :
$source = ImageCreateFromGif($image);
$mime_photo='image/gif';
break;
(...)


ca ne fonctionne pas mais si je fais :


$image_size=getimagesize('./images/028.jpg');

switch ( $image_size[2] ) {

case 1 :
$source = ImageCreateFromGif('./images/028.jpg');
$mime_photo='image/gif';
break;


là ca fonctionne !!!

peut-on m'expliquer où est le bug !

il ne reconnais pas le type-mime du fichier quand je mets le nom des variables pourtant la valeur est correct puisque
echo $image; m'affiche './images/028.jpg'


idem pour $grand je suis obligé de le remplacer par sa valeur sinon ca ne fonctionne pas.


par contre j'ai changé
$file='img.jpeg';
par
$file=$fichierSource;
c'est mieux d'avoir la miniature qui a le meme nom que l'original !

pour que la miniaturisation fonctionne correctement
j'ai egalement modifié
if ( $largeurSource >= $hauteurSource ) {
$largeurDestination = $grand;
$hauteurDestination = $largeurDestination / $rapport_dim;
}
else {
$hauteurDestination = $grand;
$largeurDestination = $hauteurDestination * $rapport_dim;
}


par

if ( $largeurSource >= $hauteurSource ) {
$largeurDestination = $grand;
$hauteurDestination = $grand / $rapport_dim;
}
else {
$hauteurDestination = $grand;
$largeurDestination = $grand * $rapport_dim;
}


voila si qqn trouve la reponse a mon probleme pour $path.$fichierSource
ca serait cool merki
awnp1 Messages postés 12 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 27 août 2008
4 avril 2006 à 23:44
salut,
je crois que la fonction createimagefrom n'est pas au point, car j'ai fais un script qui miniaturise tout les jpeg dans un dossier et en testant la miniaturisation en local, la copie est de bonne qualité, mais sur un serveur, tel que free, il devient illisible.
euhreux Messages postés 17 Date d'inscription mercredi 19 octobre 2005 Statut Membre Dernière intervention 30 août 2007
12 janv. 2006 à 01:21
j'ai remarqué que l'image qui a été traiter par le code est de beaucoup plus faible qualité malgré que j'utilise la valeur 100. ( il me semble que la quantité de couleur utilisé pour utilisé l'image redimensionnée soit inférieur ) est-ce que c'est normal? est que la fonction GD ne soit pas encore au point? à l'aide! merci.
Jayadeva Messages postés 67 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 1 septembre 2008
11 janv. 2006 à 17:59
Tout vient de là -> open_basedir restriction in effect.
Ton dossier /photo/ existe pas, car il essaye de le detecter a la racine.

Essaye de mettre ./photo/, qui va chercher dans le dossier courant:)
euhreux Messages postés 17 Date d'inscription mercredi 19 octobre 2005 Statut Membre Dernière intervention 30 août 2007
11 janv. 2006 à 06:35
Je ne suis pas un pro mais je cherche a reglé ce bug que j'ai de mon coté... qu'est-ce qui cloche?

Warning: getimagesize(): open_basedir restriction in effect. File(/photo/general.jpg) is not within the allowed path(s): (/home/euhreux/:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/euhreux/public_html/upload/upload.php on line 32

Warning: getimagesize(/photo/general.jpg): failed to open stream: Operation not permitted in /home/euhreux/public_html/upload/upload.php on line 32

Erreur de format image general.jpg. Seuls les formats jpeg, gif et png sont supportés
Warning: getimagesize(./img.jpeg): failed to open stream: No such file or directory in /home/euhreux/public_html/upload/upload.php on line 32

Erreur de format image img.jpeg. Seuls les formats jpeg, gif et png sont supportés
La miniaturisation de img.jpeg a échoué...
mo.kain Messages postés 22 Date d'inscription lundi 24 novembre 2003 Statut Membre Dernière intervention 4 octobre 2005
4 oct. 2005 à 11:21
Salut !
Je vien de regarder ce code ... (je suis pas expert en php... ) et je ne comprend pas trop la fin :
$file='img.JPG';
if(!is_file('./thumb/'.$file)) {

thumb('./',$file,600,'./thumb/') or die ('
La miniaturisation de '.$file.' a échoué...');
echo '';

}

Quelqu'un pourait pourait m'expliquer svp ?
Je demande ça car chez moi (free) j'ai une erreur alors la miniature est créée...
Utilisateur anonyme
23 sept. 2005 à 15:37
bravo
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
30 juin 2005 à 11:25
Hello,

oui, wbmp n'a rien avoir avec le bmp.
stroubinou Messages postés 95 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 1 décembre 2007
30 juin 2005 à 11:19
wbmp, je crois que c'est plutot le format pour les fichiers wap... j'avais fait des essais, mais ca avait pas marché!
et niveau temps de régénération, j'ai pas bien compris ce que tu voulais...

Et merci beaucoup malaam!!!! je suis entrain d'utiliser la derniere fonction!
Jayadeva Messages postés 67 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 1 septembre 2008
30 juin 2005 à 11:13
Et j'oubliais, la création a partire du .gif est obsolète en gd2 ... Tu devrais vérifier d'abord si la fonction existe avant de l'utiliser.

Ensuite, ajoute un temps de régénération des images, au cas où elles change en gardant le nom. Ca évitera de devoir aller supprimer la miniature a la main ;)
Jayadeva Messages postés 67 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 1 septembre 2008
30 juin 2005 à 11:09
Tu prend a la base un fichier bmp pour le convertire en gif. le wbmp est le format bmp (il me semble).
J'ai moi-même fait une tit classe pour faire des thumbernail, car je préfère le faire moi-même en fonction de mes besoin et il est fort possible de "convertire" une image ;)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
30 juin 2005 à 10:33
Et plus simple :

http://de3.php.net/imagecreate
Regarde le 1er commentaire :-)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
30 juin 2005 à 10:32
Il me semble que c'est proprietair, le bmp...mais bon.
Et puis y a un autre truc : T'as deja essaye d'afficher du bmp sur une page web ? Et php est un language web...a la base.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
30 juin 2005 à 10:31
Ben tien :

http://www.hot-php-scripts.com/php-script/phpThumb_-_The_PHP_thumbnail_creator.htm

Lui le fait apparemment, regarde la source :-)
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
30 juin 2005 à 10:30
C'est bizarre que pour le format d'image le plus "standard et universel et simple" (enfin à la base quoi) y'ai pas de fonction...
Tant pis
stroubinou Messages postés 95 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 1 décembre 2007
30 juin 2005 à 10:28
d'accord, t'en pis... j'avais trouvé des fonctions pour wbmp, mais pas pour bmp tout cours... alors je vais essayer de trouver un module comme ca. Merci!
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
30 juin 2005 à 10:25
Hello,

il n'existe rien de vraiment standard en php pour les bmp.
Mais il y a des modules externes il me semble.
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
30 juin 2005 à 10:25
;) vraiment sympa
stroubinou Messages postés 95 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 1 décembre 2007
30 juin 2005 à 10:18
ouai, je sais pour le bmp... mais j'ai pas trouvé la bonne fonction... ensuite j'y pensait plus du tout!!
Mais bon, je vais continuer les recherches, alors!

++
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
30 juin 2005 à 10:16
Et les fichiers bmp ?? :'(

lol je sais je fais chier mais quand c'est des ptites images les gens envoyent des fois des bmp, ça serait méchant de leur refuser non ^^ ?

Enfin sinon merci beaucoup ton script va bien me servir, c'était exactement ce que je cherchais.
a+
stroubinou Messages postés 95 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 1 décembre 2007
21 juin 2005 à 09:44
la derniere fois, j'avais l'impression que ca venait du coloratuer syntaxique de phpcs.
Le probleme de la derniere fois, c'etait que un caractere d'echappement n'etais pas accepté, et les tab et espace ne sont pas générée lorsque c'est une chaine de caratère, je crois.
Ca parait etre la meme chose ( a partir de la ligne 85 les fonctions sont a la couleur des chaines de caractere et vis versa ) .
Enfin c'etait ma deduction a moi!

+++
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 juin 2005 à 09:19
Ouais de toutes facons y a un probleme lol.
Je pense que ca vuient de la facon que l'editeur a de gerer les indentations : tab, space etc...
stroubinou Messages postés 95 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 1 décembre 2007
21 juin 2005 à 09:15
ben, j'utilise l'editeur pspad. je vais essayer de changer d'editeur alors, avant de poster une source...
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 juin 2005 à 09:10
Tu utilises quoi comme editeur pour coder ?
Parce que moi, depuis la nouvelle version j'ai le meme probleme avec php designer 2005. Suffit de changer d'editeur...
stroubinou Messages postés 95 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 1 décembre 2007
20 juin 2005 à 18:42
voila, c'est fait... donc, ajout d'ombre derriere les miniatures ( ca fait joli... )
+ récupération du type mime de l'image de maniere plus orthodoxe...

Par contre, il y a toujours des problemes d'indentation, je vois pas d'ou ca vient...
stroubinou Messages postés 95 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 1 décembre 2007
20 juin 2005 à 18:33
lol...c'est vrai, mais bon... c'est toujours decevant!

ps : je met tout de suite en ligne la version améliorée... NA!!!!!! ;-)
massacr Messages postés 233 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 4 janvier 2007
20 juin 2005 à 17:57
Fais pas attention au 1 !! Je suis sur que celui qui n'a mis ne comprend rien au PHP, est jaloux, et ca doit etre la première fois qu'il voit un système de votes où les gens sont honnetes.

Personne ne regarde la note générale. Le plus important, c'est le nombre de bonnes notes.

A+
stroubinou Messages postés 95 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 1 décembre 2007
20 juin 2005 à 13:43
Lorsqu'on poste un 1, ca serait sympa d'expliquer pourquoi, comme ca je peux améliorer... et pas juste mettre un note sans commentaire... merci!
stroubinou Messages postés 95 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 1 décembre 2007
16 juin 2005 à 18:07
merci beaucoup pour ces encouragements ;-) !
promis, samedi ca sera corrigé ( pas maintenant, désolé, mais y a encore tout une année de cours de bio a apprendre pour demain, donc j'ai pas vraiment le temps ;-) ...

+++
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
16 juin 2005 à 12:38
Merciii c cool
cs_Isengard Messages postés 83 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 10 février 2006
16 juin 2005 à 10:28
Ouais à part ce petit truc c'est vraiment pas mal !
stroubinou Messages postés 95 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 1 décembre 2007
12 juin 2005 à 11:08
oki, je vais corrigé ca! merci beaucoup!
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
12 juin 2005 à 09:24
Je pense que quand j'ai lu le code, il avait deja repare ca lol, parce que la tabulation etait tres bien ;-)

Et pour ma ralerie a propos de ta facon de recuperer le type mime...Jaya t'a clairement dit ce que j'avais sous-entendu lol.
Jayadeva Messages postés 67 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 1 septembre 2008
12 juin 2005 à 02:37
Tu peux récuperer le type d'image grace a la fonction getImageSize().

Cette fonction retourne un tableau comme celui-ci:
array('width','height','type','attribus a passer dans un ');
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
11 juin 2005 à 16:17
=>malalam : ex :
<?php
if($toto===$titi){
echo 'bibgkhuihiuhiuh';
}
?>
NON surtout pas c'est chian à lire
<?php
if($toto===$titi){
echo 'bibgkhuihiuhiuh';
}
?>
@+
massacr Messages postés 233 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 4 janvier 2007
11 juin 2005 à 14:52
Pas mal, mais essaye de compléter. Genre, fais un système de marges, etc...
stroubinou Messages postés 95 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 1 décembre 2007
11 juin 2005 à 14:19
voila, pour les tabulations, c'est réglé... le colorisateur de phpcs ne reconnait pas les caracteres d'echapement ( \' ), et donc la fin du code était pris comme une chaine de caractère. En tant que chaine de caractere, les tabulations ne sont pas affichées, d'ou le probleme...
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
11 juin 2005 à 13:24
hello,

moi je reprocherais peut-etre quand meme la facon de recuperer le type mime, peu orthodoxe...creer une erreur intentionnellement, et l'ignorer, je trouve que ca ne fait pas tres propre. Surtout qu'il y a possibilite de faire ca d'une autre maniere.
Ensuite, pour les espaces et le %20, il aurait ete plus normal d'utiliser la fonction dediee : urlencode (), parce qu'il w a d'autres caracteres pouvant poser probleme.

A part ca, ca a le merite d'etre court, simple, et efficace.

=> immortal, que veux tu dire, pour les tabulations, je n'ai pas compris ?
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
11 juin 2005 à 12:56
Salut,
Nikel surper bien fait masi pour les tabulations 0.
donc 9/10
@+
Rejoignez-nous