Comment faire upload image

Bonjour,

j'aimerai savoir comment faire un upload image sur dreamweaver. J'utilise l'extension php upload mais impossible d'ecrire dans la base de donnee. Y aurai t il une extension qui possede deja tout

3 réponses

  1. on écrit pas dans la bdd avec un upload ...
    1. oui mais comment faire .... help
  2. LEZAO le magicien est arrivé voici un code complet avec redimensision LIB GD et inscription dans base de donnée a partir d'un formulaire HTML
    Il faut adapter les variables biensur et avoir la librairie GD d'installé sur le serveur :

    <?php    
    
    $hauteur ="500" ;   
    $largeur = "500" ;   
    $_POST["dossier"] = "/upload";
    
    //ON RECUPERE LE FICHIER ET ON LE TEST    
    
    if($_FILES['userfile']['name'] != ""){    
     if($_FILES['userfile']['size']>0 and $_FILES['userfile']['size']<$MFS){    
    if ($_FILES['userfile']['type'] == "image/pjpeg" or $_FILES['userfile']['type'] =="image/jpeg" or $_FILES['userfile']['type'] =="image/jpg") {$code_nom = rand(10000000,100000000); session_register('code_nom'); $affup1 = $_FILES['userfile']['name'];include("redim.php"); $titre = $_POST["titre"] ; include("inscription_bdd.php");}else {echo "Mauvaise extension: Nous n'acceptons ces deux formats : JPG et JPEG";}    
    }else{echo "<font color=red>FICHIER: ".$_FILES['userfile']['name']." TROP LOURD</font></br>POID DE : ".$_FILES['userfile']['name']." = ".$_FILES['userfile']['size']." OCTETS</br>";}}    
    
    ?>    
    
    //FICHIER REDIMENSION LIB GD (redim.php)    
    
    <?php    
                                                    //JE RECUPERE L'IMAGE EN JPG :    
                                                    $ImageChoisie = imagecreatefromjpeg($_FILES['userfile']['tmp_name']);    
         
                                                    //JE VERIFIE SA TAILLE :    
                                                    $TailleImageChoisie = getimagesize($_FILES['userfile']['tmp_name']);    
                    
                    
                // //JE DEFINIS LA NOUVELLE TAILLE DE L'IMAGE QUI SERA INSEREE :    
                if($TailleImageChoisie[1] > $hauteur){include("redimL.php");}else{    
                    
                if($TailleImageChoisie[0] > $largeur){$NouvelleTailleImage = $hauteur;}else{$NouvelleTailleImage = $TailleImageChoisie[0] ;}    
         
                                                    //JE CALCULE LE POURCENTAGE DE REDUCTION :    
                                                    $Reduction = ( ($NouvelleTailleImage * 100)/$TailleImageChoisie[0] );     
         
                                                    //JE DEFINIS LA NOUVELLE LARGEUR DE L'IMAGE :    
                                                    $NouvelleHauteurImage = ( ($TailleImageChoisie[1] * $Reduction) / 100);     
         
                                                    //ON CREE DONC UN DOUBLE DE L'IMAGE QUI SERA CELLE AFFICHEE :    
                                                    $ImageChoisie = imagecreatefromjpeg($_FILES['userfile']['tmp_name']);    
                                                    $NouvelleImage = imagecreatetruecolor($NouvelleTailleImage , $NouvelleHauteurImage) or die ("Erreur");    
         
                                                    //PUIS JE COPIE ET JE REECHANTILLONNE L'IMAGE DE DEPART :    
                                                    imagecopyresampled($NouvelleImage , $ImageChoisie  , 0,0, 0,0, $NouvelleTailleImage , $NouvelleHauteurImage, $TailleImageChoisie[0],$TailleImageChoisie[1]);    
         
                                                    //JE N'AI PLUS QU'A DETRUIRE L'IMAGE CHOISIE AU DEPART QUI NE SERT PLUS A RIEN :    
                                                    imagedestroy($ImageChoisie);    
                                                        
                                                    // JE NE GARDE QUE LE NOM DE L'IMAGE SANS SON EXTENSION :    
                                                    $NomImageChoisie = explode('.', $_FILES['userfile']['name']);    
                                                    //JE L'APPELLE $NomImageExploitable :    
                                                    $NomImageExploitable ='';    
                                                    // JE NOMME LE PREMIER TERME DE L'EXPLODE : i    
                                                   // $i=0;    
                                                    //JE DECOUPE LE TERME NomImage EN AUTANT DE CHAÎNE QU'il Y EN A GRACE A -1, ET LE PREMIER TERME JE L'APPELLE $NomImage[0]    
                                                   // while($i< (count($NomImageChoisie)-1) )    
                           // {    
                               /// $NomImageExploitable = $NomImageChoisie[0];    
                                                        //    $i++;    
                                                  //  }    
                                                    //LA PREMIERE CHAINE EST NomImageExploitable, JE LA PASSE EN IMAGEJPEG POUR EN CREER UN FICHIER JPEG AVEC UNE QUALITE DE  100 :    
                                                    $NomImageExploitable = ${'code_nom'.$i} ;    
                imagejpeg($NouvelleImage , "../".$_POST["dossier"]."/".$NomImageExploitable.'.jpg', 100);    
                                                        
                                                    //LE LIEN VERS L'IMAGE EST DONC :    
                            $LienImageNews = "../".$_POST["dossier"]."/".$NomImageExploitable.'.jpg';      
          //resultat    
          //echo "<div align=center><font color=blue>Votre photo: ".$_FILES[$userfile]['name']." vient d'etre uploade </font></div></br>";      
          chmod("".$LienImageNews."", 0644);    
          echo "<font color='#6382A0'>Photo uploadé : </font>".$LienImageNews."</br>";    
          }            
    ?>    
    
    
    //FICHIER INSCRIPTION DANS LA BDD (inscription_bdd.php)    
    
    
    <?    
    
    $query_annonce = "INSERT INTO ma_table(titre,adresse)";    
    $query_annonce .= " VALUES('".$titre."','$NomImageExploitable')";     
    
    
    ?>
    1. POURRAI TU ME DIRE OU EST L ERREUR ( c'est un code qui insert l'image dans un dossier mais n''ecri pas dans la base , j'aimerai egalement la renomer avec id_utilisateur)

      lol (rien que ca)

      <?php
      // ---------------------------------------------
      // Pure PHP Upload version 1.1
      // -------------------------------------------
      if (phpversion() > "4.0.6") {
      $HTTP_POST_FILES = &$_FILES;
      }
      define("MAX_SIZE",300000);
      define("DESTINATION_FOLDER", "./images");
      define("no_error", "merci.php");
      define("yes_error", "erreurdesaisis.php");
      $_accepted_extensions_ = "jpg,bmp,jpeg";
      if(strlen($_accepted_extensions_) > 0){
      $_accepted_extensions_ = @explode(",",$_accepted_extensions_);
      } else {
      $_accepted_extensions_ = array();
      }
      /* modify */
      if(!empty($HTTP_POST_FILES['fileField'])){
      if(is_uploaded_file($HTTP_POST_FILES['fileField']['tmp_name']) && $HTTP_POST_FILES['fileField']['error'] == 0){
      $_file_ = $HTTP_POST_FILES['fileField'];
      $errStr = "";
      $_name_ = $_file_['name'];
      $_type_ = $_file_['type'];
      $_tmp_name_ = $_file_['tmp_name'];
      $_size_ = $_file_['size'];
      if($_size_ > MAX_SIZE && MAX_SIZE > 0){
      $errStr = "File troppo pesante";
      }
      $_ext_ = explode(".", $_name_);
      $_ext_ = strtolower($_ext_[count($_ext_)-1]);
      if(!in_array($_ext_, $_accepted_extensions_) && count($_accepted_extensions_) > 0){
      $errStr = "Estensione non valida";
      }
      if(!is_dir(DESTINATION_FOLDER) && is_writeable(DESTINATION_FOLDER)){
      $errStr = "Cartella di destinazione non valida";
      }
      if(empty($errStr)){
      if(@copy($_tmp_name_,DESTINATION_FOLDER . "/" . $_name_)){
      header("Location: " . no_error);
      } else {
      header("Location: " . yes_error);
      }
      } else {
      header("Location: " . yes_error);
      }
      }
      }

      if (!function_exists("GetSQLValueString")) {
      function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
      {
      if (PHP_VERSION < 6) {
      $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
      }

      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

      switch ($theType) {
      case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
      case "long":
      case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
      case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
      case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
      case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
      }
      return $theValue;
      }
      }

      $editFormAction = $_SERVER['PHP_SELF'];
      if (isset($_SERVER['QUERY_STRING'])) {
      $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
      }

      if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
      $insertSQL = sprintf("INSERT INTO img (img1) VALUES (%s)",
      GetSQLValueString($_POST['fileField'], "text"));

      mysql_select_db($database_TESTr, $TESTr);
      $Result1 = mysql_query($insertSQL, $TESTr) or die(mysql_error());
      }
      ?>
      <?php require_once('../Connections/TESTr.php'); ?>
      <!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=utf-8" />
      <title>Document sans titre</title>
      </head>

      <body>
      <form action="<?php echo $editFormAction; ?>" method="POST" enctype="multipart/form-data" name="form1" id="form1">
      <label>
      <input type="file" name="fileField" id="fileField" />
      </label>
      <label>
      <input type="submit" name="button" id="button" value="Envoyer" />
      </label>
      <input type="hidden" name="MM_insert" value="form1" />
      </form>
      </body>
      </html>
    2. trop compliqué ! je suis fatigué la, essayes mon code plutot.
    3. ta pas une solution simple et efficace car ton code est aussi compliqué (dsl mais je debute) ??? merci