Probleme de changement de format image pour PHPeCard

Signaler
Messages postés
8
Date d'inscription
mardi 2 août 2005
Statut
Membre
Dernière intervention
16 mai 2007
-
Messages postés
8
Date d'inscription
mardi 2 août 2005
Statut
Membre
Dernière intervention
16 mai 2007
-
Bonjour,
je suis nouveau sur le forum et également dans le php,
Voilà, j'ai télécharger le script PHPeCard (mais je sais pu où) et je voulais savoir si quelqu'un pouvait me dire comment faire en sorte que l'on puisse ajouter des images gif et jpg au lieu de limiter au jpg uniquement, ce qui permettrait de placer des images animées, voici le bout de script qui permet d'inscrire les images et leur vignette dans la base de données MySQL :

$handle = opendir('../images');
$nb = 1;
$nb2 = 0;
while ($file = readdir($handle)) {
if ($nb > 2) {
$requeteajout = "SELECT * FROM ecard_lara_croft_images WHERE nom='$file'";
$test2 = explode('.',$file);
mysql_query($requeteajout);
if (mysql_affected_rows() == 0) {
if (($test2[1] == "jpg") OR ($test2[1] == "jpeg")) {
$img = imagecreatefromjpeg("../images/".$file);
$mini = imagecreate(100,75);
imagecopyresized($mini, $img, 0,0, 0,0, 100,75 ,imagesx($img), imagesy($img));
imagejpeg($mini, "../miniatures/".$file);
$requete1 = "INSERT INTO ecard_lara_croft_images VALUES ( '$file' , '0' )";
mysql_query($requete1);
$nb2 = $nb2+1;
}
else {
print("<center>L'image $file n'est pas un fichier JPEG valide !!!</center>
");
}
}
}
$nb = $nb+1;

Si il y a besoin, je peux fournir le fichier complet
J'espère que quelqu'un pourra m'aider et un grand merci d'avance

8 réponses

Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Yop!
Remplace:
if (($test2[1] == "jpg") OR ($test2[1] == "jpeg")) {
Par
if (($test2[1] == "jpg") OR ($test2[1] == "jpeg") OR ($test2[1] == 'gif')) {
Sinon, c'est très mal codé... Dommage que ca soit en téléchargement!

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
8
Date d'inscription
mardi 2 août 2005
Statut
Membre
Dernière intervention
16 mai 2007

bon ben merci beaucoups, j'ai réussi à mettre des images gif mais lors de l'installation de celles-ci (malgrés qu'elles soient prises en compte) j'ai le message suivant

Warning: imagecreatefromjpeg(): '../images/21.gif' is not a valid JPEG file in ajout_images.php on line 51

Warning: imagesx(): supplied argument is not a valid Image resource in ajout_images.php on line 53

Warning: imagesy(): supplied argument is not a valid Image resource in ajout_images.php on line 53

Warning: imagecopyresized(): supplied argument is not a valid Image resource in ajout_images.php on line 53

Il y a eu 1 nouvelles images d'installées!! Cela porte le total d'images à 22 .

si tu le désire je peux t'envoyer le script complet...
amicalement Fred

www.lararoch.com
Messages postés
8
Date d'inscription
mardi 2 août 2005
Statut
Membre
Dernière intervention
16 mai 2007

Re moi!!!

Donc tout marche bien malgrés le petit bug précisé plus haut et surtout la vignette n'esrt pas correctement créer car il y a un carré noir au lieu de l'image...
tu trouvera le script php a cette adresse http://www.lararoch.com/script.zip
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Oui, en fait, faut mixer ça...
$handle = opendir('../images');
$nb = 1;
$nb2 = 0;
while ($file = readdir($handle)) {
if ($nb > 2) {
$requeteajout = "SELECT * FROM ecard_lara_croft_images WHERE nom='$file'";
$test2 = explode('.',$file);
mysql_query($requeteajout);
if (mysql_affected_rows() == 0) {
if( ($test2[1] == "jpg") OR ($test2[1] == "jpeg") )
  $type = 1;
else if( $test2[1] == "gif" )
  $type = 2;
if ($type 1 || $type 2)
{
if( $type == 1 )
  $img = imagecreatefromjpeg("../images/".$file);
else
  $img = imagecreatefromgif( '../images/' . $file );

$mini = imagecreate(100,75);
imagecopyresized($mini, $img, 0,0, 0,0, 100,75 ,imagesx($img), imagesy($img));
imagejpeg($mini, "../miniatures/".$file);
$requete1 = "INSERT INTO ecard_lara_croft_images VALUES ( '$file' , '0' )";
mysql_query($requete1);
$nb2 = $nb2+1;
}
else {
print("<center>L'image $file n'est pas un fichier JPEG valide !!!</center>
");
}
}
}
$nb = $nb+1;

Et comme ceci?

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
8
Date d'inscription
mardi 2 août 2005
Statut
Membre
Dernière intervention
16 mai 2007

Et bien je te dis un grand MERCI car tout fonctionne nikel, c'est tellement simple de faire appel aux pros,
Il me reste quelques détails à régler mais sur un autre domaine dans ce script qui a vraiment été mis vite fait sur le web...
merci encore
amitiés FRED
Messages postés
8
Date d'inscription
mardi 2 août 2005
Statut
Membre
Dernière intervention
16 mai 2007

Par curiosité voici le lien pour avoir le script complet, tu vas dire que j'en fais trop, mais ce serait cool d'avoir les vignettes animées en couleurs normales,plutot que fixe et en 3 couleurs!!! ainsi que la possibilité de modifier la police de l'émail envoyé (juste coté admin) et pourquoi pas pouvoir mettre une bannière de pub dans le mail.......

le script est ICI
et si tu veux voir comment j'ai modifier celui-ci il faut aller LA
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3
Salut!
En fait, si tu crée des miniatures, elles ne seront pas animées... Notamment pcq PHP ne peut créer des fichiers gif (la license étant payante, php ne fait que lire les images gif)...

Ainsi, les vignettes créées à partir de gif seront en jpg...

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
Messages postés
8
Date d'inscription
mardi 2 août 2005
Statut
Membre
Dernière intervention
16 mai 2007

oui j'ai compris, mais j'ai trouvé la parade à ce probleme

il suffit de remplacer les vignettes crées par les "originales" et cela fonctionne nikel
va voir ICI (catégories "grandes occasions).

Il me manque plus que voir comment changer la police par défaurt de la carte