Wd_upload

Contenu du snippet

WD_Upload est un script d'upload qui permet de télécharger des fichiers de type image (avatars) sur un serveur Web. Le script vérifie les dimensions, la taille et l'extension du fichier avec son upload. Toutes ces données sont entièrement paramétrables via les premières variables du script.

Source / Exemple :


<?php

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

$target     = "upload/";  // Repertoire cible
$extension  = ".jpg";      // Extension du fichier
$max_size   = 100000;     // Taille max en octets du fichier
$width_max  = 100;        // Largeur max de l'image en pixels
$height_max = 100;        // Hauteur max de l'image en pixels

//------------------------------------------------------------
//  DEFINITION DES VARIABLES LIEES AU FICHIER
//------------------------------------------------------------

$nom_file   = $_FILES['fichier']['name'];
$taille     = $_FILES['fichier']['size'];
$tmp        = $_FILES['fichier']['tmp_name'];
$chemin    = $target.$_FILES['fichier']['name']

//---------------------------
//  SCRIPT D'UPLOAD
//---------------------------

if(isset($_POST['posted']))
{

// On vérifie si le champ est rempli

  if(isset($_FILES['fichier']['name']))
  {
     // On vérifie l'extension du fichier

    if(strtolower(substr(strrchr($nom_file, "."), 0)) == $extension)
    {
       // On récupère les dimensions du fichier

        $infos_img = getimagesize($_FILES['fichier']['tmp_name']);
            
        // On vérifie les dimensions et taille de l'image

        if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($taille <= $max_size))
        {
           // Si c'est OK, on teste l'upload

            if(@move_uploaded_file($tmp,$chemin))
            {

              // Si upload OK alors on affiche le message de réussite

                echo '<p align="center">';
                echo '<font face="Verdana" size="2" color="#FF0000">';
                echo '<b>Image uploadée avec succès !</b>';
                echo '</font>';
                echo '<hr>';
                echo '<b>Fichier :</b> '.$_FILES['fichier']['name'].'</br>';
                echo '<b>Taille :</b> '.$_FILES['fichier']['size'].' Octets</br>';
                echo '<b>Largeur :</b> '.$infos_img[0].' px</br>';
                echo '<b>Hauteur :</b> '.$infos_img[1].' px</br>';
                echo '<hr>';
                echo '<br><br>';
            }
               else
            {

               // Sinon on affiche une erreur système

                echo '<p align="center">';
                echo '<font face="Verdana" size="2" color="#FF0000">';
                echo '<b>Problème lors de l\'upload !</b>';
                echo '</font><br><br>';
            }
        }
          else
        {

          // Sinon erreur sur les dimensions et taille de l'image

            echo '<p align="center">';
            echo '<font face="Verdana" size="2" color="#FF0000">';
            echo '<b>Erreur dans les dimensions ou taille de l\'image !</b>';
            echo '</font><br><br>';
        }
    }
      else
    {

      // Sinon on affiche une erreur pour l'extension

        echo '<p align="center">';
        echo '<font face="Verdana" size="2" color="#FF0000">';
        echo '<b>Votre image ne comporte pas l\'extension .JPG !</b>';
        echo '</font><br><br>';
    }
   }
    else
   {

    // Sinon on affiche une erreur pour le champ vide

    echo '<p align="center">';
    echo '<font face="Verdana" size="2" color="#FF0000">';
    echo '<b>Le champ du formulaire est vide !</b>';
    echo '</font><br><br>';
   }
}
?>
<html>
<head>
<title>Upload d'une image sur le serveur !</title>
</head>
<body>
<form enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>" method="POST">
<font face="Verdana" size="2" color="#000000">
<b>Envoyer le fichier :</b>
</font>
<br><br>
<input type="hidden" name="posted" value="1">
<input name="fichier" type="file">
<input type="submit" value="Uploader">
</form>
</body>
</html>

Conclusion :


Afin de le faire fonctionner correctement, faites un CHMOD 666 sur le répertoire cible, c'est à dire le répertoire se trouvant dans la variable $target.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.