Enregistrer un fichier dans la base de données

java99 Messages postés 12 Statut Membre -  
java99 Messages postés 12 Statut Membre -
je souhaite enregistré un fichier dans la base et ces fichiers st stockées dans le serveur. kan je fai sa enregistre juste le nom du fichier mais pas le contenu

1 réponse

  1. hharchi9 Messages postés 693 Statut Membre 24
     
    Bonjour,

    Tout d'abord, je vous déconseille d'enregistrer directement le fichier dans la base de données. Préférez enregistrer le chemin d'accès au fichier sur le serveur (qui est beaucoup moins lourd !).

    Sinon, lorsque vous avez un problème avec un script, il est préférable de le donner pour que l'on puisse voir ce qui ne va pas,

    Cordialement,

    hharchi9.
    1
    1. java99 Messages postés 12 Statut Membre
       
      okay merci du conseil
      mais maintenant j'aimerai avoir le script pour enregistrer le chemin d'accès du fichier
      0
    2. java99 Messages postés 12 Statut Membre
       
      $cv=$_FILES['cv'];
      $motivation=$_FILES['motivation'];
      $demande=$_FILES['demande'];
      //echo "test1";
      if(isset($cv) && isset($motivation) && isset($demande))
      {
      $infos = pathinfo($cv['name']);
      $infos1 = pathinfo($motivation['name']);
      $infos2 = pathinfo($demande['name']);
      $extension_upload = $infos['extension'];
      $extension_upload1 = $infos1['extension'];
      $extension_upload2 = $infos2['extension'];
      $extensions_autorisees = array('jpg','pdf','txt','docx');

      /*$File = new FileFromDB($_FILES['file']['name']);
      $File->upload($_FILES['file']);
      $message = 'Votre fichier à bien été ajouté';
      echo "test2";*/
      if(in_array($extension_upload ,$extensions_autorisees) && in_array($extension_upload1 , $extensions_autorisees) && in_array($extension_upload2 , $extensions_autorisees))
      {
      if($cv['size']<=100000000 || $motivation['size']<=100000000 || $demande<=100000000)
      {
      move_uploaded_file($cv['tmp_name'],"../fichier/".$cv['name']);
      move_uploaded_file($motivation['tmp_name'],"../fichier/".$motivation['name']);
      move_uploaded_file($demande['tmp_name'],"../fichier/".$demande['name']);

      $doc=new Document(4,$_SESSION['id'],4,null,null,null,null,$cv.",".$motivation.",".$demande);
      $docu=new DocumentDAO();
      $docu->Add($doc);

      $prod="CALL sp_suiviaction_insert('".$_SESSION['id']."')";
      mysql_query($prod);
      ?><script>alert('Docoment envoye avec success');
      window.parent.location = "services.php";
      </script>
      <?php
      }
      else
      {
      ?><script>alert('Docoment trop gros');
      window.parent.location = "services.php";
      </script>
      <?php
      }
      }
      else
      {
      ?><script>alert('Vous n''avez pas entré l''extension demandé');
      window.parent.location = "stage.php";
      </script>
      <?php
      }
      }
      else
      {
      ?><script>alert('Aucun fichier selectionner');
      window.parent.location = "stage.php";
      </script>
      <?php
      }
      voici le script que j'utilise
      0
    3. hharchi9 Messages postés 693 Statut Membre 24
       
      Il suffit d'ajouter le script de connexion à la bdd en haut (ici en PDO):

      try
      {
      	// On se connecte à MySQL 
      	$bdd = new PDO(sprintf('mysql:host=%s;dbname=%s', $host, $dbname), $user, $pass); //paramètres à définir !
      	$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      }
      catch(Exception $e)
      {
      	// En cas d'erreur, on affiche un message et on arrête tout
      	die('Erreur : '.$e->getMessage());
      }


      Après l'upload, on fait une requête :

      $chemin="../fichier/".$motivation['name'];
      $query=$bdd->prepare('INSERT INTO table (nom,chemin) VALUES (:nom, :chemin)');
      $query->execute(array(
      ':nom' => $nom,
      ':chemin' => $chemin));
      $query->CloseCursor(); //On ferme le curseur



      A toi d'adapter le code à ton script
      0
      1. java99 Messages postés 12 Statut Membre > hharchi9 Messages postés 693 Statut Membre
         
        :-) merci
        0