Titre: Fatal error: Call to undefined function: imagecreatefromgif()
Posté par: Un@m3d le le 20-02-2005 a 13:05:29
Bonjour,
Je suis en train de faire un site pour une discothèque mobile. La j'essaye que le logo de la discothèque se mette automatiquement sur les photos de soirée (que le gars de la disco aura uploadé). Mais j'ai un problème.
Voila mes codes :
Ajout.php
<html> <head></head> <body> <? // Si le form est parti if(@$_FILES) {
$racine=".";
// Pour chaque input for($i=0;$i<sizeof($_FILES["srcfichier"]["name"]);$i++) {
// Si l input est vide, on passe if(!$_FILES["srcfichier"]["name"][$i]) continue;
$name = $_FILES["srcfichier"]["name"][$i]; $ext = substr($name, strrpos($name, ".") + 1); if($ext == "jpg") { $ext="jpg"; } elseif($ext == "jpeg") { $ext="jpeg"; } elseif($ext == "JPEG") { $ext="JPEG"; } elseif($ext == "JPG") { $ext="JPG"; } else { echo "<script>"; echo "alert(\"Mauvais format d image !\");"; echo "javascript:history.back(1);"; echo "</script>"; header ("location:".$hote."agenda/1.php"); exit; } $nom_fichier=basename("",".".$ext);
// Pour éviter d écraser l ancien en cas de doublon $n="1"; while(file_exists("$racine/$nom_fichier$n.$ext")) $n++; $nom_fichier="$nom_fichier$n.$ext";
// Fin de l upload if (@move_uploaded_file($_FILES["srcfichier"]["tmp_name"][$i], "$racine/$nom_fichier")){ @chmod("$racine/$nom_fichier", 0777); echo "Fichier <a href=\"$racine/$nom_fichier\" target=_blank><i>$nom_fichier</i></a> envoyé avec succès ! (".$_FILES["srcfichier"]["size"][$i]." octets)<br>\n"; } else { echo "Erreur, impossible d envoyer le fichier <i>$nom_fichier</i><br>\n"; }
} }
?>
<FORM ENCTYPE="multipart/form-data" ACTION="" METHOD="post"> <b>Upload de fichier dans ce repertoire :</b><br> Choisissez un fichier sur votre disque et cliquez sur Envoyer<br>
Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br> Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br> Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br> Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br> Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br> Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br> Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br> Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br> Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br> Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br> Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br> Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br> Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br> Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br> Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br> Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br> Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br> Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br> Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br> Fichier : <INPUT NAME="srcfichier[]" TYPE="file" size="20"><br>
<input type="submit" value="Envoyer"></FORM> </body> </html>
reduction.php
<? function Compte_Fichiers($dossier, $ext) { $rep=dir($dossier); while($fichier = $rep->read()) { if(ereg($ext, $fichier)==TRUE) { if($fichier!="." && $fichier!="..") { ++$cpt; } } } return "$cpt"; } $toto==(Compte_Fichiers(".", ".jpg")+1);
for($i=1; $i != $toto ; $i++) { if(file_exists($i.".jpg")) { $fichierSource = $i.".jpg"; $source = ImageCreateFromJpeg($fichierSource); $largeurSource = imagesx($source); $hauteurSource = imagesy($source); $largeurDestination = 540; $hauteurDestination = 405; $im = ImageCreateTrueColor ($largeurDestination, $hauteurDestination) or die ("Erreur lors de la création de l'image"); ImageCopyResampled($im, $source, 0, 0, 0, 0, $largeurDestination-(2*0), $hauteurDestination-(2*0), $largeurSource, $hauteurSource); $miniature = $i.".jpg"; ImageJpeg ($im, $miniature); echo "Fichier <a href=".$i.".jpg target=_blank><i>".$i.".jpg</i></a> transformé avec succès !<br>"; ] ?>
logo.php
<? function Compte_Fichiers($dossier, $ext) { $rep=dir($dossier); while($fichier = $rep->read()) { if(ereg($ext, $fichier)==TRUE) { if($fichier!="." && $fichier!="..") { ++$cpt; } } } return "$cpt"; } $toto==(Compte_Fichiers(".", ".jpg")+1);
for($i=1; $i != $toto ; $i++) { if(file_exists($i.".jpg")) { $fichierSource = $i.".jpg"; $copieSource = "../tagfs.gif"; $dst_im = ImageCreateFromJpeg($fichierSource); $src_im = ImageCreateFromgif($copieSource); ImageCopy ($dst_im, $src_im, 200, 200, 200, 200, 200, 200) ; header ("Content-type: image/jpeg"); ImageJpeg ($dst_im); echo "Fichier <a href=".$dst_im." target=_blank><i>".$dst_im."</i></a> transformé avec succès !<br>"; ] ?>
Pour les deux premiers fichiers (ajout.php et redimention.php), il n'y a pas de problème. Mais quand j'ouvre le fichiers logo.php, il me met
Fatal error: Call to undefined function: imagecreatefromgif() in /home/.filer2/firesound/firesound3/photos/images/160205/logo.php on line 24
|
Titre: Re:Fatal error: Call to undefined function: imagecreatefromgif()
Posté par: erwinol le le 20-02-2005 a 14:41:53
Le format gif est un format propriétaire, il appartient à la société CompuServe. L'algorithme est connu mais ne peut être utilisé sans en payer les droits.
Les fonctions de la librairie GD de PHP concernant le gif ont été supprimées depuis la version 1.6 de GD.
Résultat : il ne trouve pas la fonction ! |
Titre: Re:Fatal error: Call to undefined function: imagecreatefromgif()
Posté par: Un@m3d le le 20-02-2005 a 15:18:29
| Comment je peux faire pour copier le logo.gif (il est en gif parce que il y a de la transparence) sur la photo jpg ? |
Titre: Re:Fatal error: Call to undefined function: imagecreatefromgif()
Posté par: MFred le le 20-02-2005 a 16:59:08
| Le mettre au format PNG, géré par la librairie GD, et qui gère également la transparence : http://openweb.eu.org/articles/png_vs_gif/ (http://openweb.eu.org/articles/png_vs_gif/). |
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|