Tuto upload image bdd

TRUNCKS Messages postés 1066 Statut Membre -  
TRUNCKS Messages postés 1066 Statut Membre -
Bonjour à vous,

Je suis à la recherche d'un petit tuto pour faire des upload images sur une bdd.

Connaissez vous un lien pour cela ?

Merci à vous :)

4 réponses

  1. TRUNCKS Messages postés 1066 Statut Membre 8
     
    J'aimerai un tuto avec une base de donnée...
    0
    1. arthezius Messages postés 3756 Statut Membre 475
       
      Essai déjà l'un de ceux-ci.
      Il sera très facile ensuite de l'adapter pour faire le lien avec une base de donnée.
      0
  2. TRUNCKS Messages postés 1066 Statut Membre 8
     
    Justement, c'est le passage où l'on doit entrer le lien dans la bdd qui me pose soucis. ^^
    0
    1. arthezius Messages postés 3756 Statut Membre 475
       
      Met moi ici le script que tu utilises.
      0
  3. TRUNCKS Messages postés 1066 Statut Membre 8
     
    Celui de apprendre php

    
    // Constantes
    define('TARGET', '/files/');    // Repertoire cible
    define('MAX_SIZE', 100000);    // Taille max en octets du fichier
    define('WIDTH_MAX', 800);    // Largeur max de l'image en pixels
    define('HEIGHT_MAX', 800);    // Hauteur max de l'image en pixels
     
    // Tableaux de donnees
    $tabExt = array('jpg','gif','png','jpeg');    // Extensions autorisees
    $infosImg = array();
     
    // Variables
    $extension = '';
    $message = '';
    $nomImage = '';
     
    /************************************************************
     * Creation du repertoire cible si inexistant
     *************************************************************/
    if( !is_dir(TARGET) ) {
      if( !mkdir(TARGET, 0755) ) {
        exit('Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !');
      }
    }
     
    /************************************************************
     * Script d'upload
     *************************************************************/
    if(!empty($_POST))
    {
      // On verifie si le champ est rempli
      if( !empty($_FILES['fichier']['name']) )
      {
        // Recuperation de l'extension du fichier
        $extension  = pathinfo($_FILES['fichier']['name'], PATHINFO_EXTENSION);
     
        // On verifie l'extension du fichier
        if(in_array(strtolower($extension),$tabExt))
        {
          // On recupere les dimensions du fichier
          $infosImg = getimagesize($_FILES['fichier']['tmp_name']);
     
          // On verifie le type de l'image
          if($infosImg[2] >= 1 && $infosImg[2] <= 14)
          {
            // On verifie les dimensions et taille de l'image
            if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier']['tmp_name']) <= MAX_SIZE))
            {
              // Parcours du tableau d'erreurs
              if(isset($_FILES['fichier']['error']) 
                && UPLOAD_ERR_OK === $_FILES['fichier']['error'])
              {
                // On renomme le fichier
                $nomImage = md5(uniqid()) .'.'. $extension;
     
                // Si c'est OK, on teste l'upload
                if(move_uploaded_file($_FILES['fichier']['tmp_name'], TARGET.$nomImage))
                {
                  $message = 'Upload réussi !';
                }
                else
                {
                  // Sinon on affiche une erreur systeme
                  $message = 'Problème lors de l\'upload !';
                }
              }
              else
              {
                $message = 'Une erreur interne a empêché l\'uplaod de l\'image';
              }
            }
            else
            {
              // Sinon erreur sur les dimensions et taille de l'image
              $message = 'Erreur dans les dimensions de l\'image !';
            }
          }
          else
          {
            // Sinon erreur sur le type de l'image
            $message = 'Le fichier à uploader n\'est pas une image !';
          }
        }
        else
        {
          // Sinon on affiche une erreur pour l'extension
          $message = 'L\'extension du fichier est incorrecte !';
        }
      }
      else
      {
        // Sinon on affiche une erreur pour le champ vide
        $message = 'Veuillez remplir le formulaire svp !';
      }
    }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
      <head>
        <title>Upload d'une image sur le serveur !</title>
      </head>
      <body>
     <?php
          if( !empty($message) ) 
          {
            echo '<p>',"\n";
            echo "\t\t<strong>", htmlspecialchars($message) ,"</strong>\n";
            echo "\t</p>\n\n";
          }
        ?>
        <!-- Debut du formulaire -->
       <form enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
        <fieldset>
            <legend>Formulaire</legend>
              <p>
                <label for="fichier_a_uploader" title="Recherchez le fichier à uploader !">Envoyer le fichier :</label>
                <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo MAX_SIZE; ?>" />
                <input name="fichier" type="file" id="fichier_a_uploader" />
                <input type="submit" name="submit" value="Uploader" />
              </p>
          </fieldset>
        </form>
        <!-- Fin du formulaire -->
      </body>
    </html>
    
    
    
    0