Fichier php pour envoyer image redimensionnée sur serveur

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Fichier php pour envoyer image redimensionnée sur serveur

Re: Fichier php pour envoyer image redimensionnée sur serveur

par stealth35 » 27 mars 2010, 17:26

non imagemagick c'est une lib un peu comme GD2, c'est plus simple pour redimentionner des images sans trop se soucié, de la longeur et de la largeur

un copier redimentionner ca reviendrais a ca :
$image = new Imagick($file->tmp_name);
$image->thumbnailImage(400, 400, 1);
$image->writeImages("small/{$file->name}", false);
:wink:

sinon affiche tes erreurs en STRICT, tu verras ou ca coince, (php.ini)

Code : Tout sélectionner

error_reporting = E_ALL | E_STRICT

Re: Fichier php pour envoyer image redimensionnée sur serveur

par jblenderj » 27 mars 2010, 16:59

Pourquoi imagemagick ???
Pour récupérer le script par image?
???? lol

Je me noie dans ce problème ! 8-|

Du mal à comprendre, le php c'est magique .... quand on sait s'en servir ! :wink:

Je continue mes recherches ...

Re: Fichier php pour envoyer image redimensionnée sur serveur

par stealth35 » 27 mars 2010, 16:16

normale c'est pas toi qui la fait :wink:
le script est bien compliquer alors que ca peu être simple (dommage que imagemagick soit pas dans l'install par default de php, parce que ca serai encore plus simple)

Re: Fichier php pour envoyer image redimensionnée sur serveur

par Invité » 27 mars 2010, 15:48

J'utilise dreamweaver.

Bon je commence un peu à comprendre, mais chaud tout de même.
mais quoi que je fasse il y a toujours une erreur, ce qui fait que j 'arrive pas à être sûr de comprendre ce que je fais.

Je ne désespère pas :wink:

Re: Fichier php pour envoyer image redimensionnée sur serveur

par stealth35 » 27 mars 2010, 03:30

normale ta un point virgule, tu bosses avec quel editeur ?
attention ton code est obsolète et plein d'erreurs en plus

Re: Fichier php pour envoyer image redimensionnée sur serveur

par jblenderj » 27 mars 2010, 00:55

:wink: Merci ...
Je vais essayer de comprendre , le temps fera son oeuvre j'espère.

J'ai tester le fichier mais j'ai un retour d'erreur :

Parse error: syntax error, unexpected T_LOGICAL_OR in /home/jblenderj/www/upload.php on line 196

.... Je me penche dessus (le fichier).. Merci

Re: Fichier php pour envoyer image redimensionnée sur serveur

par visualight » 26 mars 2010, 23:56

PAS TESTE MAIS LE PRINCIPAL EST LA ...
Essaye de comprendre ...

<?
//Cookies du pseudo
//*****************

$pseudo = $_POST['pseudo'];

//Enregistre le pseudo actuel
if(($pseudo != "")&&($pseudo != "load_directif"))setcookie ("cookie_rep", $pseudo, time()+3600*24*365); //valable 1 année

//Lecture du pseudo
$cook_rep= $HTTP_COOKIE_VARS["cookie_rep"];
if(!isset($cook_rep))$cook_rep = "load_directif";
if($pseudo == "")$pseudo = $cook_rep;
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="Upload d'image" />
<meta name="author" content="" />
<title>VOS-SPECTACLES.FR</title>
</head>
 
<body bgcolor="#FFFFFF">
<?php
//---------------------------------------------------------------------------------
// Script réalisé par Bouillou sur la base du script d'upload simple de Webdeb73
// Ajout de Bouillou: Vérification de l'existance du fichier, notification par mail,
//                    modification des droits d'accès des images (CHMOD 640 --> 644)
//                    suppression des accents, redimentionnement automatique des
//                    dimensions et de la taille de l'image, cookies du pseudo,
//                    images classées sur le serveur par pseudo,...
// Modifié le 20/05/2006
// Version 1.2
// http://www.jeunessebottens.com
//----------------------------------------------------------------------------------

//----------------------------
//  DEFINITION DES VARIABLES  
//----------------------------

//Pour les tester en local (avec EasyPHP,...)
$test_local = 0; //0 pour le web                                                                                                        //N'effectue pas la réalocation de la mémoire du serveur
                                                                                                                                                                                                                                        //et n'envoi pas de mail de confirmation

$extension  = 'image/pjpeg';                              // MIME JPEG pour la comparaisond de l'extention du fichier
$extension2 = 'image/jpeg';                               // MIME JPEG pour la comparaisond de l'extention du fichier
$quality    = 100;                                         // Qualité de la compression JPEG
$kb_max     = 70000;                                      // Valeur max en octets de l'image finale
$max_size   = 5000000;                                    // Taille max en octets du fichier à uploader pour traitement
// *************************************** MODIFICATION
// A la place de largeurDestination on met $hauteurDestination
// **************************************************************************
$hauteurDestination = 200;                                // Largeur max de l'image finale en pixel
$nom_rep    = "resize";                            // Lien du répertoire des dossier photos à la raçine du script (fin sans /)
$site       = "http://".$_SERVER["HTTP_HOST"]."/jblenderj.power-heberg.com/resize/"; // Adresse du dossier où est installé le script (fin avec /)
$mail_notif = "[email protected]";                        // Adresse mail pour la notification
$mail_from  = "From: [email protected]";                      // Adresse mail envoi

//---------------------------------------------
//  DEFINITION DES VARIABLES LIEES AUX FICHIERS
//---------------------------------------------

$nom_file     = $_FILES['fichier']['name'];
$taille       = $_FILES['fichier']['size'];
$tmp          = $_FILES['fichier']['tmp_name'];
$ext_img                        =       $_FILES['fichier']['type'];
$lien_dossier = $nom_rep;
$nom_rep     .= "/".strtolower($pseudo);
$verif_exist  = $nom_rep;
$verif_exist .= "/";
$verif_exist .= $nom_file;
       
//----------------------
//  SCRIPT D'UPLOAD
//----------------------                    

//Vérifie l'existance du dossier de réception
//*******************************************
if(!file_exists($lien_dossier))
  {
   //Crée le répertoire de classement des photos s'il n'existe pas
   if(!mkdir($lien_dossier,0755))
     {
        echo "Impossible de créer le répertoire : ",$lien_dossier," --> upload interrompu !!!";
        exit;
     }        
  }  
                 
//Enlever les accents
//*******************
function enlever_accents($dest_fichier){
$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ/',
                                     'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy/');
//remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z\/0-9]+)/i', '_', $dest_fichier);
return $dest_fichier;
}

$nom_rep     = enlever_accents($nom_rep);
$pseudo      = enlever_accents($pseudo);
$verif_exist = enlever_accents($verif_exist);
$nom_file    = enlever_accents($nom_file);

//Début de la procédure d'upload
//******************************      
if(!empty($_POST['posted'])) {
    // On vérifie si le champ est rempli
    if(!empty($nom_file) && (!empty($pseudo))) {
      //On vérifie que le nom du fichier n'existe pas
      if(!file_exists($verif_exist)) {
        // On vérifie l'extension du fichier
        if(($ext_img == $extension)||($ext_img == $extension2)) {
           // On récupère les dimensions du fichier
           $infos_img = getimagesize($tmp);
// *************************************** MODIFICATION
// On induit la largeur et la hauteur de l'image SOURCE (ça évite d'utiliser $infos_img[0] et $info_img[1])
// **************************************************************************
list($width, $height) = $infos_img;
            // On vérifie la taille de l'image
            if($taille <= $max_size) {
            //Crée le répertoire avec le pseudo
            if(!file_exists($nom_rep)){
                 mkdir($nom_rep,0755);
                 }
               //upload du fichier
               if(move_uploaded_file($tmp,$nom_rep."/".$nom_file)) {
                           
                           
                    // Si upload OK alors on affiche le message de réussite
                    chmod($verif_exist, 0644);
                    echo '<b><font color=black>Image uploadée avec succès dans le dossier : </b></font>', $pseudo , '<br />';
                    echo '<hr />';
                    echo 'Détails de l\'image<br>';
                    echo '<b>Fichier :</b> ', $nom_file , '<br />';
                    echo '<b>Taille :</b> ' , $taille, ' Octets<br />';
                    echo '<b>Largeur :</b> ', $infos_img[0], ' px<br />';
                    echo '<b>Hauteur :</b> ', $infos_img[1], ' px<br />';
                    echo '<hr />';
                   
                    //calcul et redimension
                    //*********************
                    $fichierSource  = $nom_rep;
                    $fichierSource .= "/";
                    $fichierSource .= $nom_file;  
                    $fichierSource  = $fichierSource;


// *************************************** MODIFICATION
// on crée le rapport (ratio)
// **************************************************************************
                    //hauteur / largeur
                    //$rapport = $infos_img[1] / $infos_img[0];
$rapport=$width/$height;

// *************************************** MODIFICATION
// on crée les largeurs/hauteur basé sur la hauteur.
// **************************************************************************
                    //Dimension de sortie
                    //$hauteurDestination = $largeurDestination * $rapport;
$miniWidth = $hauteurDestination*$rapport;
$miniHeight = $hauteurDestination;
                   
                    if($test_local == 0)
                      {
                       //Réaloue la mémoire dont le serveur à besoin
                       //*******************************************
                       $memoryNeeded = round(($infos_img[0] * $infos_img[1] * $infos_img['bits'] * $infos_img['channels'] / 8 + Pow(2, 16)) * 1.65);
                       $mem_in_use= memory_get_usage();
                       //echo "Mémoire utilisée : $memoryNeeded contre $mem_in_use<br><br>";
                       $test = (integer) ini_get('memory_limit') + ceil(((memory_get_usage() + $memoryNeeded) - (integer) ini_get('memory_limit') * pow(1024, 2)) / pow(1024, 2)) + 1;            
                       //solution calculée
                       if(function_exists('memory_get_usage') && memory_get_usage() + $memoryNeeded > (integer) ini_get('memory_limit') * pow(1024, 2))              
                           ini_set('memory_limit', (integer) ini_get('memory_limit') + ceil(((memory_get_usage() + $memoryNeeded) - (integer) ini_get('memory_limit') * pow(1024, 2)) / pow(1024, 2)) + 2 . 'M');
                      }
                     
                    //Création de l'image
                    //*******************
                    $source = imagecreatefromjpeg($fichierSource);
                    
// IL EST INUTILE DE CREER UNE LARGEUR ET HAUTEUR SOURCE CAR ALLE EST DEJA CREE PAR list($width,$height) (VOIR PLUS HAUT) 
                  //  $largeurSource = imagesx($source);
                    //$hauteurSource = imagesy($source);
                    
// A VERIFIER ET A MODIFIER !            
                  //  if($largeurSource >$largeurDestinationh){
  if($width > $miniWidth){

// *************************************** MODIFICATION
// on crée l'image temporaire
// **************************************************************************
                       //$im = ImageCreateTrueColor ($largeurDestination, $hauteurDestination)

$im = imagecreatetruecolor($miniWidth,$miniHeight);
                            or die ("Erreur lors de la création de l'image");  
                    }
                    else{  
                     //  $im = ImageCreateTrueColor ($infos_img[0], $infos_img[1])
 $im = ImageCreateTrueColor ($width, $height)
                            or die ("Erreur lors de la création de l'image");
                       //$largeurDestination = $infos_img[0];
                      // $hauteurDestination = $infos_img[1];    
                    }
                       
                    //Redimentionnement
                    //*****************
                    ImageCopyResampled($im, $source, 0, 0, 0, 0, $miniWidth, $miniHeight, $width, $height);                                                                                    
                   
                    //Création du fichier de sortie
                    //*****************************
// TOTALEMENT INUTILE
//                    $fh=fopen($fichierSource,'w');
   //                 fclose($fh);
//                    ImageJpeg ($im,$fichierSource,$quality);

// On enregistre l'image dans le dossier
ImageJpeg ($im,''.$site .'',$quality) or die ("Erreur de création JPEG (MINI)");

                    $size_file = filesize($fichierSource);
                   
                    //Test de la taille en kb de l'image définitive
                    //*********************************************
                    $size_file = filesize($fichierSource);
                    $iteration = 0;
                    while($size_file > $kb_max){
                         if($quality > 0)$quality -= 5;
                         else {$quality = "Erreur!!!"; break;}
                       unlink($fichierSource);
                       $fh=fopen($fichierSource,'w');
                       fclose($fh);
                       ImageJpeg ($im,$fichierSource,$quality);
                       $size_file = filesize($fichierSource);
                       $iteration++;
                    }
                   
                    //Affiche le détail de l'image
                    echo '<u>Détails de l\'image finale sur le serveur</u><br>';
                    echo '<b>Fichier :</b> '  , $nom_file, '<br />';
                    echo '<b>Taille :</b> '   , $size_file, ' Octets<br />';
                    echo '<b>Qualité :</b> '  , $quality, ' %<br />';
                    echo '<b>Largeur :</b> '  , $largeurDestination, ' px<br />';
                    echo '<b>Hauteur :</b> '  , $hauteurDestination, ' px<br />';
                    echo '<b>Itération de compression :</b> ', $iteration, ' x <br />';
                    echo '<hr />';
                                       
                    $lien_image = $site.$nom_rep."/".$nom_file;                  
                    echo "L'image ci-dessous a été redimentionnée et chargée sur le serveur.<br>Un mail de notification a été envoyé au webmaster<br><br>";
                    //echo "Lien de l'image : ".$lien_image."<br /><br />";
                    echo "<img border='0' src='".$lien_image."'><br />";
                   
                    if($test_local == 0)
                      {
                       //Envoi du mail de notification
                       $message = "Lien de l'image: ";                    
                       mail($mail_notif, "Nouvelle img uploadée de ".$pseudo,$message.$lien_image,$mail_from);  
                      }
                       
                } else {
                    // Sinon on affiche une erreur système
                    echo '<font color=black><b>ECHEC DE L\'ENVOI<br><br>Problème lors de l\'upload !</b><br /><br /><b>Erreur num : ', $_FILES['fichier']['error'], '</b><br /><br /></font>';
                }
            } else {
                // Sinon on affiche une erreur pour les dimensions et taille de l'image
                echo "<b>La taille du fichier dépasse la taille maximale authorisée de $max_size octets!</b><br /><br />";
            }    
        } else {
            // Sinon on affiche une erreur pour l'extension
            echo '<font color=red><b>ECHEC DE L\'ENVOI<br><br>Votre image ne comporte pas l\'extension .jpg !</b><br /><br /></font>';
        }
      } else {
                  //Sinon on demande de renommer
                  echo '<font color=black><b>ECHEC DE L\'ENVOI<br><br>Une image avec le même nom existe déjà ! Renommez la photo et réessayez, Merci.</b><br /><br /></font>';
       }            
    } else {
        // Sinon on affiche une erreur pour le champ vide
        echo '<font color=black<b>ECHEC DE L\'ENVOI<br><br>Aucune image sélectionnée !</b><br /><br /></font>';
    }
}
?>
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
  <div align="center">
    <p><b>Envoyer le fichier :</b><br />
      <br />
      <input type="hidden" name="posted" value="1" />
      <font color="#000000">L'image sera envoyée sur le serveur dans le dossier : </font>
      <?php echo $pseudo ?>
      <br>
      <br>
     
      <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ajoutez votre image  : </font>
      <input name="fichier" type="file">
    </p>
    <p><br>
      <br>
      <input type="submit" value="Uploadez l'image" />
    </p>
  </div>
</form>
       
 
</body>
</html>

Re: Fichier php pour envoyer image redimensionnée sur serveur

par jblenderj » 26 mars 2010, 23:21

Merci beaucoup :)

Hélas même avec de la bonne volonté je pense que j'ai beaucoup à apprendre pour bien comprendre. #-o
Même si une logique me vient à l'esprit, j'aurais besoin de voir le résultat final , comparer et ... peut être que je comprendrai !
Merci de ton aide en tous cas.

Re: Fichier php pour envoyer image redimensionnée sur serveur

par visualight » 26 mars 2010, 22:05

Edit : Ajout d'une modification dans le code que j'ai donné

Re: Fichier php pour envoyer image redimensionnée sur serveur

par visualight » 26 mars 2010, 21:57

$source = imagecreatefromjpeg($fichierSource); 
$hauteurDestination = 200; 
$infos_img = getimagesize($tmp);
list($width, $height) = $infos_img;
$rapport=$width/$height;

// On calcule la hauteur et la largeur
$miniWidth = $hauteurDestination*$rapport;
$miniHeight = $hauteurDestination;

// On définis la qualité de l'image de sortie
// la qualité sur un png va de 0 à 9 et non de 0 à 100 comme imagejpeg ...
$Thumbs_Mini_Quality = 100; 

// On crée l'image temporaire
if (function_exists(imagecreatetruecolor)){
$resized_mini = imagecreatetruecolor($miniWidth,$miniHeight);
} else {
echo 'ERREUR GD2 PAS INSTALLE OU CONFIGURE';
}

// On crée l'image redimensionnée
imagecopyresampled($resized_mini, $source, 0, 0, 0, 0, $miniWidth, $miniHeight, $width, $height);

// On enregistre l'image dans le dossier
ImageJpeg ($resized_mini,''.$site .'',$Thumbs_Mini_Quality) or die ("Erreur de création JPEG (MINI)");

// On détruit l'image temporaire
ImageDestroy ($resized_mini);
Voilà qui devrait t'aider à comprendre ...

A+
raph

Fichier php pour envoyer image redimensionnée sur serveur

par jblenderj » 26 mars 2010, 19:25

Bonjour,

Tout à fait novice en php je fais appel à vos connaissances, j'explique mon cas :

J'ai un fichier php qui permet d'envoyer sur un serveur une image redimensionnée.
Le redimensionnement est calculé en fonction de la largeur de l'image, et quant à la hauteur elle s'adapte automatiquement au rapport de la largeur.

Ce que j'aimerais faire c'est exactement l'inverse !

Soit : la largeur qui s'adapte à la hauteur.
Donc modifier le fichier en définissant une hauteur maximale, puis la largeur qui s'adapte en ratio.

Voilà, J'espère avoir été clair. :)

Merci à tous pour votre aide.

Voici le fichier :
<?
//Cookies du pseudo
//*****************

$pseudo = $_POST['pseudo'];

//Enregistre le pseudo actuel
if(($pseudo != "")&&($pseudo != "load_directif"))setcookie ("cookie_rep", $pseudo, time()+3600*24*365); //valable 1 année

//Lecture du pseudo
$cook_rep= $HTTP_COOKIE_VARS["cookie_rep"];
if(!isset($cook_rep))$cook_rep = "load_directif";
if($pseudo == "")$pseudo = $cook_rep;
?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="Upload d'image" />
<meta name="author" content="" />
<title>VOS-SPECTACLES.FR</title>
</head>
 
<body bgcolor="#FFFFFF">
<?php 
//--------------------------------------------------------------------------------- 
// Script réalisé par Bouillou sur la base du script d'upload simple de Webdeb73
// Ajout de Bouillou: Vérification de l'existance du fichier, notification par mail,
//                    modification des droits d'accès des images (CHMOD 640 --> 644)
//                    suppression des accents, redimentionnement automatique des 
//                    dimensions et de la taille de l'image, cookies du pseudo,
//                    images classées sur le serveur par pseudo,...
// Modifié le 20/05/2006 
// Version 1.2
// http://www.jeunessebottens.com
//----------------------------------------------------------------------------------

//---------------------------- 
//  DEFINITION DES VARIABLES  
//---------------------------- 

//Pour les tester en local (avec EasyPHP,...)
$test_local = 0; //0 pour le web													//N'effectue pas la réalocation de la mémoire du serveur
																													//et n'envoi pas de mail de confirmation

$extension  = 'image/pjpeg';                              // MIME JPEG pour la comparaisond de l'extention du fichier
$extension2 = 'image/jpeg';                               // MIME JPEG pour la comparaisond de l'extention du fichier
$quality    = 100;                                         // Qualité de la compression JPEG
$kb_max     = 70000;                                      // Valeur max en octets de l'image finale
$max_size   = 5000000;                                    // Taille max en octets du fichier à uploader pour traitement 
$largeurDestination = 200;                                // Largeur max de l'image finale en pixel
$nom_rep    = "resize";                            // Lien du répertoire des dossier photos à la raçine du script (fin sans /)
$site       = "http://".$_SERVER["HTTP_HOST"]."/jblenderj.power-heberg.com/resize/"; // Adresse du dossier où est installé le script (fin avec /)
$mail_notif = "[email protected]";                        // Adresse mail pour la notification
$mail_from  = "From: [email protected]";                      // Adresse mail envoi

//--------------------------------------------- 
//  DEFINITION DES VARIABLES LIEES AUX FICHIERS 
//--------------------------------------------- 

$nom_file     = $_FILES['fichier']['name']; 
$taille       = $_FILES['fichier']['size']; 
$tmp          = $_FILES['fichier']['tmp_name'];
$ext_img			=	$_FILES['fichier']['type'];
$lien_dossier = $nom_rep;
$nom_rep     .= "/".strtolower($pseudo);
$verif_exist  = $nom_rep;
$verif_exist .= "/";
$verif_exist .= $nom_file;
       
//---------------------- 
//  SCRIPT D'UPLOAD 
//----------------------                     

//Vérifie l'existance du dossier de réception
//*******************************************
if(!file_exists($lien_dossier))
  {
   //Crée le répertoire de classement des photos s'il n'existe pas
   if(!mkdir($lien_dossier,0755))
     {
     	echo "Impossible de créer le répertoire : ",$lien_dossier," --> upload interrompu !!!";
     	exit;
     }        
  }  
            	 
//Enlever les accents
//*******************
function enlever_accents($dest_fichier){
$dest_fichier = strtr($dest_fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ/', 
                                     'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy/');
//remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z\/0-9]+)/i', '_', $dest_fichier);
return $dest_fichier;
}

$nom_rep     = enlever_accents($nom_rep);
$pseudo      = enlever_accents($pseudo);
$verif_exist = enlever_accents($verif_exist);
$nom_file    = enlever_accents($nom_file);

//Début de la procédure d'upload
//******************************       
if(!empty($_POST['posted'])) { 
    // On vérifie si le champ est rempli 
    if(!empty($nom_file) && (!empty($pseudo))) { 
      //On vérifie que le nom du fichier n'existe pas
      if(!file_exists($verif_exist)) { 
        // On vérifie l'extension du fichier 
        if(($ext_img == $extension)||($ext_img == $extension2)) { 
           // On récupère les dimensions du fichier 
           $infos_img = getimagesize($tmp); 
            // On vérifie la taille de l'image 
            if($taille <= $max_size) { 
            //Crée le répertoire avec le pseudo
            if(!file_exists($nom_rep)){
            	 mkdir($nom_rep,0755);
            	 }
               //upload du fichier
               if(move_uploaded_file($tmp,$nom_rep."/".$nom_file)) {
			   
			   
                    // Si upload OK alors on affiche le message de réussite 
                    chmod($verif_exist, 0644);
                    echo '<b><font color=black>Image uploadée avec succès dans le dossier : </b></font>', $pseudo , '<br />'; 
                    echo '<hr />';
                    echo 'Détails de l\'image<br>'; 
                    echo '<b>Fichier :</b> ', $nom_file , '<br />'; 
                    echo '<b>Taille :</b> ' , $taille, ' Octets<br />'; 
                    echo '<b>Largeur :</b> ', $infos_img[0], ' px<br />'; 
                    echo '<b>Hauteur :</b> ', $infos_img[1], ' px<br />'; 
                    echo '<hr />'; 
                    
                    //calcul et redimension
                    //*********************
                    $fichierSource  = $nom_rep;
                    $fichierSource .= "/";
                    $fichierSource .= $nom_file;  
                    $fichierSource  = $fichierSource;
                    //hauteur / largeur 
                    $rapport = $infos_img[1] / $infos_img[0];
                    //Dimension de sortie
                    $hauteurDestination = $largeurDestination * $rapport; 
                    
                    if($test_local == 0)
                      {
                       //Réaloue la mémoire dont le serveur à besoin
                       //*******************************************
                       $memoryNeeded = round(($infos_img[0] * $infos_img[1] * $infos_img['bits'] * $infos_img['channels'] / 8 + Pow(2, 16)) * 1.65);
                       $mem_in_use= memory_get_usage();
                       //echo "Mémoire utilisée : $memoryNeeded contre $mem_in_use<br><br>";
                       $test = (integer) ini_get('memory_limit') + ceil(((memory_get_usage() + $memoryNeeded) - (integer) ini_get('memory_limit') * pow(1024, 2)) / pow(1024, 2)) + 1;            
                       //solution calculée
                       if(function_exists('memory_get_usage') && memory_get_usage() + $memoryNeeded > (integer) ini_get('memory_limit') * pow(1024, 2))               
                           ini_set('memory_limit', (integer) ini_get('memory_limit') + ceil(((memory_get_usage() + $memoryNeeded) - (integer) ini_get('memory_limit') * pow(1024, 2)) / pow(1024, 2)) + 2 . 'M');
                      }
                     
                    //Création de l'image
                    //*******************
                    $source = imagecreatefromjpeg($fichierSource); 
                     
                    $largeurSource = imagesx($source); 
                    $hauteurSource = imagesy($source);
                                       
                    if($largeurSource > $largeurDestination){
                       $im = ImageCreateTrueColor ($largeurDestination, $hauteurDestination)      
                            or die ("Erreur lors de la création de l'image");  
                    }
                    else{  
                       $im = ImageCreateTrueColor ($infos_img[0], $infos_img[1])
                            or die ("Erreur lors de la création de l'image");
                       $largeurDestination = $infos_img[0];
                       $hauteurDestination = $infos_img[1];     
                    }
                       
                    //Redimentionnement
                    //***************** 
                    ImageCopyResampled($im, $source, 0, 0, 0, 0, $largeurDestination, $hauteurDestination, $largeurSource, $hauteurSource);                                                                                    
                    
                    //Création du fichier de sortie
                    //*****************************
                    $fh=fopen($fichierSource,'w');
                    fclose($fh);
                    ImageJpeg ($im,$fichierSource,$quality);
                    $size_file = filesize($fichierSource);
                    
                    //Test de la taille en kb de l'image définitive
                    //*********************************************
                    $size_file = filesize($fichierSource);
                    $iteration = 0;
                    while($size_file > $kb_max){
                    	 if($quality > 0)$quality -= 5;
                    	 else {$quality = "Erreur!!!"; break;}
                       unlink($fichierSource);
                       $fh=fopen($fichierSource,'w');
                       fclose($fh);
                       ImageJpeg ($im,$fichierSource,$quality);
                       $size_file = filesize($fichierSource);
                       $iteration++;
                    }
                    
                    //Affiche le détail de l'image
                    echo '<u>Détails de l\'image finale sur le serveur</u><br>'; 
                    echo '<b>Fichier :</b> '  , $nom_file, '<br />'; 
                    echo '<b>Taille :</b> '   , $size_file, ' Octets<br />';
                    echo '<b>Qualité :</b> '  , $quality, ' %<br />'; 
                    echo '<b>Largeur :</b> '  , $largeurDestination, ' px<br />'; 
                    echo '<b>Hauteur :</b> '  , $hauteurDestination, ' px<br />';
                    echo '<b>Itération de compression :</b> ', $iteration, ' x <br />'; 
                    echo '<hr />'; 
                                       
                    $lien_image = $site.$nom_rep."/".$nom_file;                  
                    echo "L'image ci-dessous a été redimentionnée et chargée sur le serveur.<br>Un mail de notification a été envoyé au webmaster<br><br>";
                    //echo "Lien de l'image : ".$lien_image."<br /><br />";
                    echo "<img border='0' src='".$lien_image."'><br />";
                    
                    if($test_local == 0)
                      {
                       //Envoi du mail de notification
                       $message = "Lien de l'image: ";                     
                       mail($mail_notif, "Nouvelle img uploadée de ".$pseudo,$message.$lien_image,$mail_from);  
                      }
                       
                } else { 
                    // Sinon on affiche une erreur système 
                    echo '<font color=black><b>ECHEC DE L\'ENVOI<br><br>Problème lors de l\'upload !</b><br /><br /><b>Erreur num : ', $_FILES['fichier']['error'], '</b><br /><br /></font>'; 
                }
            } else { 
                // Sinon on affiche une erreur pour les dimensions et taille de l'image 
                echo "<b>La taille du fichier dépasse la taille maximale authorisée de $max_size octets!</b><br /><br />"; 
            }    
        } else { 
            // Sinon on affiche une erreur pour l'extension 
            echo '<font color=red><b>ECHEC DE L\'ENVOI<br><br>Votre image ne comporte pas l\'extension .jpg !</b><br /><br /></font>'; 
        }
      } else {
        	  //Sinon on demande de renommer
        	  echo '<font color=black><b>ECHEC DE L\'ENVOI<br><br>Une image avec le même nom existe déjà ! Renommez la photo et réessayez, Merci.</b><br /><br /></font>'; 
       } 	     
    } else { 
        // Sinon on affiche une erreur pour le champ vide 
        echo '<font color=black<b>ECHEC DE L\'ENVOI<br><br>Aucune image sélectionnée !</b><br /><br /></font>'; 
    } 
} 
?>
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> 
  <div align="center">
    <p><b>Envoyer le fichier :</b><br />
      <br />
      <input type="hidden" name="posted" value="1" />
      <font color="#000000">L'image sera envoyée sur le serveur dans le dossier : </font>
      <?php echo $pseudo ?>
      <br>
      <br> 
      
      <font color="#000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ajoutez votre image  : </font>
      <input name="fichier" type="file">
    </p>
    <p><br>
      <br> 
      <input type="submit" value="Uploadez l'image" /> 
    </p>
  </div>
</form> 
       
 
</body>
</html>