:: Easy-Script.com :: Index du Forum

Votre bannière ici !

 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 RSS : Les 20 dernières discussions des forums d'Easy-Script.nom RSS   ProfilProfil   Messages PrivésMessages Privés   ConnexionConnexion 

Poster un nouveau sujet  Répondre au sujet
miniatures proportionnelles apres upload
Aiglon


Inscrit le: 31 Mai 2006
Messages: 4
Répondre en citant
bonjour,
j'ai essayé de reécrire un script (à partir d'un autre script déja existant) pour créer des images miniatures proportionnelles à une image uploadé mais apparemment le script ne fonctionne pas (il me renvoit des messages d'erreur. !)

PHP:
<?php // Création de miniature
$max_width=220;
$max_height=220;
$repertoire_destination="miniature/";
$prefixe="mini-";
$photo_name basename($nom_photo);

function 
miniature($nom_photo)
{
/*on ouvre le fichier*/
$file fopen($nom_photo,'r');

/*On recupere le nom de l'image*/
$miniature $prefixe.$photo_name;

/*getimagesize() renvoie FALSE si le fichier n'est pas une image*/
if (false !== list($largeur_orig,$hauteur_orig,$extension) = getimagesize($nom_photo))
{
/*On récupère l'extension de l'image*/
$extension_img substr(strchr($nom_photo,'.'),1);
$type_img imagecreatefromjpeg($nom_photo);

/*On verifie la taille*/
if(($largeur_orig $max_width) || ($hauteur_orig $max_height))
{
// si l'image est trop large ou trop haute
if ($largeur_orig $hauteur_orig)
{
// image plus large que haute
$hauteur round(($hauteur_orig $max_width) / $largeur_orig);
$largeur $max_width;
}
else
{
// image plus haute que large
$hauteur $max_height;
$largeur round(($largeur_orig $max_height) / $hauteur_orig);
}
}
else
{
$largeur $largeur_orig;
$hauteur $hauteur_orig;
}

/*On créer la miniature*/
$src imagecreatetruecolor($largeur,$hauteur);
imagecopyresized($src,$type_img,0,0,0,0,$largeur,$hauteur,$largeur_orig,$hauteur_orig);

/*On sauvegarde la miniature*/
imagejpeg($src$repertoire_destination.$nom);

/*On libere la memoire utilisée par cette image.*/
imagedestroy($src);

}

else
{
$message 'Erreur : Le fichier n\'existe pas !';
}
}

miniature($nom_photo);
echo 
"---------";
echo 
"$photo_name";
}
?>


le script de l'upload de l'image (qui lui fonctionne à merveille) avec le script de la création de miniature :
PHP:
<?php
             
// Script d'upload
                       // On définie les variables
                       
                       
$maxsize 102400;
                       
$maxwidth 1024;
                       
$maxheight 768;
                       
$extensions_valides = array( 'jpg' 'jpeg' 'JPG''JPEG''gif' 'GIF' 'png' 'PNG' );
                       
$extension_upload substr(  strrchr($_FILES['photo_1']['name'], '.')  ,1);
                       
$image_sizes getimagesize($_FILES['photo_1']['tmp_name']);
                       

                       
// On vérifie si le fichier est transferé

                        
if ($_FILES['photo_1']['error'] > 0)
                        {
                          
$erreur "Erreur lors du téléchargement de la photo";
                        }

                      
// On vérifie le poids du fichier

                        
elseif ($_FILES['photo_1']['size'] > $maxsize)
                         {
                           
$erreur "Le poids de la photo est trop lourd";
                         }


                      
// On vérifie les extentions valides

                        
elseif ( in_array($extension_upload,$extensions_valides) )
                         {
                           echo 
"<br />";
                         }

                     
                       
// On vérifie la taille de l'image
                         
                         
elseif ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
                         {
                            
$erreur "La taille de la photo est trop grande";
                         }


                       
// On déplace le fichier vers le dossier final   
                           
                             
$pre "img/";
                             
$post ".jpg";
                             
$nom_photo microtime();
                             
$nom_photo =  $pre.str_replace(' ','',$nom_photo).$post;
                             
$resultat move_uploaded_file($_FILES['photo_1']['tmp_name'],$nom_photo);
                            if (
$resultat)
                         {
                            
// chagement de chmod                 
                           
chmod($nom_photo0755 );
                            echo 
"$nom_photo";
                         
                       
                                       
                     
// Création de miniature
$max_width=220;
$max_height=220;
$repertoire_destination="miniature/";
$prefixe="mini-";
$photo_name basename($nom_photo);

function 
miniature($nom_photo)
{
/*on ouvre le fichier*/
$file fopen($nom_photo,'r');

/*On recupere le nom de l'image*/
$miniature $prefixe.$photo_name;

/*getimagesize() renvoie FALSE si le fichier n'est pas une image*/
if (false !== list($largeur_orig,$hauteur_orig,$extension) = getimagesize($nom_photo))
{
/*On récupère l'extension de l'image*/
$extension_img substr(strchr($nom_photo,'.'),1);
$type_img imagecreatefromjpeg($nom_photo);

/*On verifie la taille*/
if(($largeur_orig $max_width) || ($hauteur_orig $max_height))
{
// si l'image est trop large ou trop haute
if ($largeur_orig $hauteur_orig)
{
// image plus large que haute
$hauteur round(($hauteur_orig $max_width) / $largeur_orig);
$largeur $max_width;
}
else
{
// image plus haute que large
$hauteur $max_height;
$largeur round(($largeur_orig $max_height) / $hauteur_orig);
}
}
else
{
$largeur $largeur_orig;
$hauteur $hauteur_orig;
}

/*On créer la miniature*/
$src imagecreatetruecolor($largeur,$hauteur);
imagecopyresized($src,$type_img,0,0,0,0,$largeur,$hauteur,$largeur_orig,$hauteur_orig);

/*On sauvegarde la miniature*/
imagejpeg($src$repertoire_destination.$nom);

/*On libere la memoire utilisée par cette image.*/
imagedestroy($src);

}

else
{
$message 'Erreur : Le fichier n\'existe pas !';
}
}

miniature($nom_photo);
echo 
"---------";
echo 
"$photo_name ";
}
             
?>


Les messages d'erreur :

Warning: imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error: in /home/www/monsite/www/guide/proposition-restaurant-ok.php on line 133

Warning: imagecreatefromjpeg(): 'img/0.350989001149839085.jpg' is not a valid JPEG file in /home/www/monsite/www/guide/proposition-restaurant-ok.php on line 133

Warning: imagecreatetruecolor(): Invalid image dimensions in /home/www/monsite/www/guide/proposition-restaurant-ok.php on line 159

Warning: imagecopyresized(): supplied argument is not a valid Image resource in /home/www/monsite/www/guide/proposition-restaurant-ok.php on line 160

Warning: imagejpeg(): supplied argument is not a valid Image resource in /home/www/monsite/www/guide/proposition-restaurant-ok.php on line 163

Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/www/monsite/www/guide/proposition-restaurant-ok.php on line 166

merci à tous ceux qui prendrons le temps de m'aider
Voir le profil de l'utilisateurEnvoyer un message privé
Redox
Modérateurs
Modérateurs

Inscrit le: 07 Sep 2004
Messages: 974
Répondre en citant
Salut,

Le problème que tu racontes ne provient certainement pas du script mais de la façon dont la librairie GD a été compilée sur ton serveur !
Alors assures-toi que la librairie JPEG est bien installé sur ton serveur...

Voir le profil de l'utilisateurEnvoyer un message privé
Aiglon


Inscrit le: 31 Mai 2006
Messages: 4
Répondre en citant
ok ,merci Redox , je vais jeter un oeil sur la librairie GD alors
Voir le profil de l'utilisateurEnvoyer un message privé
Annonces && Topic Scooping
miniatures proportionnelles apres upload
Vous pouvez poster de nouveaux sujets dans ce forum
Vous pouvez répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum
Toutes les heures sont au format GMT + 2 Heures  
Page 1 sur 1  

  
  
 Poster un nouveau sujet  Répondre au sujet  


Powered by phpBB © 2001, 2002 phpBB Group
Traduction par : phpBB-fr.com
Design by Vjacheslav Trushkin
phpBB SEO

Anti Bot Question MOD - phpBB MOD against Spam Bots
Inscriptions / messages bloqués: 2668 / 609