Ajouter un fichier dans une base mysql avec php [ AU SECOUR] [Résolu]

mao54 4 Messages postés mardi 4 mars 2008Date d'inscription 24 mars 2008 Dernière intervention - 23 mars 2008 à 16:02 - Dernière réponse : Lasouha 1 Messages postés samedi 29 décembre 2007Date d'inscription 16 juillet 2008 Dernière intervention
- 16 juil. 2008 à 11:29
je veux stocker des fichiers word ou excel dans ma base de donnée mysql ;
voilà mon code . aidez moi svp;!!!

if (isset ($_POST['envoi']) )
 $envoi= $_POST['envoi'];
?>
Ajouter les fichier clients


<FORM METHOD ='POST' ACTION='administrateur_ajouter_fichier.php' >


Référence dossier,
,
----
N° fichier,
,

----

       <label for="Type">Type</label>,
        <select name="paprasse" id="paprasse">
  <option value="Devis">Devis</option>
  <option value="Facture">Facture</option>
  <option value="Hors_contrat">Hors contrat</option>
  <option value="Commande">Commande fourniseur</option>
  <option value="Courrier">Courrier</option>
  <option value="Rapport">Rapport</option>
  <option value="Controle">Controle</option>
  <option value="Contrat">Contrat</option>
  <option value="Autre">Autre</option></select>,

  

 

----
Fichier,
,

----
,

 ,
 
</FORM>

<?php
if ($envoi) {


// les donnée
 
 $REF=$_POST['reference'];
 $NUM=$_POST['num_fichier'];
 $T=$_POST['paprasse'];
 
 
// les fichiers
 $fich= $_FILES['fich']['tmp_name'];
 $taille = $_FILES['fich']['size'];
 $type = $_FILES['fich']['type'];
 $nom = $_FILES['fich']['name'];
 


 
//fichier 1
 if ($f = fopen( $fich, "r")) {
 $contenu=fread($f, $taille);
 $donnees=addslashes($contenu);
 
 require("conec_fichier.php");
  $connexion = mysql_connect($hote,$login,$mdp);
  mysql_select_db($bd, $connexion);
  //$req= "INSERT INTO $table (dossier,client,devis) VALUES ('$dossier','$client','$donnees')";
  $req=("UPDATE fichier SET fichier='$donnees', reference='$REF' where num_fichier='$NUM' and type='$T' ") ;
  mysql_query($req, $connexion);
  $nb=mysql_affected_rows($connexion);
  
   if ($nb==0)
    echo "l'insertion a échoué !
Erreur: ". mysql_error()."
";
       
 
 
}
}
 
mysql_close();
 }   
    


 

?>
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
yoman64 962 Messages postés samedi 19 janvier 2002Date d'inscription 2 août 2010 Dernière intervention - 23 mars 2008 à 18:18
3
Merci
Ah merde merci à phpcs qui intermettre mon html lol:

<form action="page.php" method="POST" enctype="multipart/form-data">

Merci yoman64 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de yoman64
bcmfr 137 Messages postés jeudi 18 juillet 2002Date d'inscription 20 novembre 2016 Dernière intervention - 23 mars 2008 à 16:18
0
Merci
slt
quel est le message d'erreur?
@+
Commenter la réponse de bcmfr
mao54 4 Messages postés mardi 4 mars 2008Date d'inscription 24 mars 2008 Dernière intervention - 23 mars 2008 à 17:04
0
Merci
j'ai ces messages d'erreur:
Notice: Undefined index: fich in c:\program files\easyphp1-8\www\version1.2\administrateur_ajouter_fichier.php on line 152

Notice: Undefined index: fich in c:\program files\easyphp1-8\www\version1.2\administrateur_ajouter_fichier.php on line 153

Notice: Undefined index: fich in c:\program files\easyphp1-8\www\version1.2\administrateur_ajouter_fichier.php on line 154

Notice: Undefined index: fich in c:\program files\easyphp1-8\www\version1.2\administrateur_ajouter_fichier.php on line 155

qui sont ces lignes:

$fich= $_FILES['fich']['tmp_name'];
 $taille = $_FILES['fich']['size'];
 $type = $_FILES['fich']['type'];
 $nom = $_FILES['fich']['name'];

est ce que je dois definir $_FILES avant??
merci d'avance
Commenter la réponse de mao54
yoman64 962 Messages postés samedi 19 janvier 2002Date d'inscription 2 août 2010 Dernière intervention - 23 mars 2008 à 18:17
0
Merci
Salut
,
Euh déja tu dois dire à ton formulaire que tu vas transmettre des données avec un enctype...

Par exemple: <form action="page.php" method="POST" enctype="multipart/form-data">
-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  </form>
Commenter la réponse de yoman64
mao54 4 Messages postés mardi 4 mars 2008Date d'inscription 24 mars 2008 Dernière intervention - 23 mars 2008 à 20:30
0
Merci
merci bcp

ca marche

 encore grand merci.
Commenter la réponse de mao54
Lasouha 1 Messages postés samedi 29 décembre 2007Date d'inscription 16 juillet 2008 Dernière intervention - 16 juil. 2008 à 11:29
0
Merci
Salut, je veux récupérer des champs d’un fichier texte (fichier log) mais le problème c’est que les données dans mon fichier ne sont pas homogènes donc je doit sélectionner les informations.
Voilà une partie du fichier texte et mon code :




23/12/05 10:31:34 Login request from user AFRICA SERVICES EXPRESS at NAS 172.16.26.2 port 260 permitted
23/12/05 10:31:35 Radius accounting start record for user AFRICA SERVICES EXPRESS at NAS 172.16.26.2 port 1,  Acct-Session-Id(44)=16973856, Acct-Delay-Time(41)=0, Acct-Authentic(45)=RADIUS, User-Service(6)=Framed-User, Vendor-Specific(26)=000001AD000098420000000E, Vendor-Specific(26)=000001AD00009843000005EC, Vendor-Specific(26)=000001AD0000901900000002, Vendor-Specific(26)=000001AD0000901A00000010, Vendor-Specific(26)=000001AD0000901B00000004, Vendor-Specific(26)=000001AD0000901D00000007, Caller-Id(31)=, Client-Port-DNIS(30)=, Vendor-Specific(26)=000001AD0000006C00000014, Vendor-Specific(26)=000001AD0000009900000004, Vendor-Specific(26)=000001AD000000C700000002, Vendor-Specific(26)=000001AD0000902300000017, Framed-Protocol(7)=PPP, Framed-Address(8)=172.16.26.61, Vendor-Specific(26)=000001AD0000982F00000000, attribute(51)=1, attribute(50)=842229301
23/12/05 10:31:35 Login request from user TRANSIT EL YAGOUBI at NAS 172.16.26.1 port 20017 permitted
23/12/05 10:31:48 Login request from user LARENA TRANSIT at NAS 172.16.26.2 port 2052 permitted
23/12/05 10:31:49 Radius accounting start record for user LARENA TRANSIT at NAS 172.16.26.2 port 1,  Acct-Session-Id(44)=134414503, Acct-Delay-Time(41)=0, Acct-Authentic(45)=RADIUS, User-Service(6)=Framed-User, Vendor-Specific(26)=000001AD0000984200000012, Vendor-Specific(26)=000001AD0000984300000CEC, Vendor-Specific(26)=000001AD0000901900000009, Vendor-Specific(26)=000001AD0000901A00000010, Vendor-Specific(26)=000001AD0000901B00000004, Vendor-Specific(26)=000001AD0000901D00000006, Caller-Id(31)=, Client-Port-DNIS(30)=, Vendor-Specific(26)=000001AD0000006C00000014, Vendor-Specific(26)=000001AD0000009900000004, Vendor-Specific(26)=000001AD000000C700000002, Vendor-Specific(26)=000001AD0000902300000015, Framed-Protocol(7)=PPP, Framed-Address(8)=172.16.26.72, Vendor-Specific(26)=000001AD0000982F00000000, attribute(51)=1, attribute(50)=842229302
23/12/05 10:31:52 Login request from user SOFITRANS at NAS 172.16.26.2 port 258 permitted


 


 




<?php


if( isset($_POST['upload']) ) // si formulaire soumis
{
    $content_dir = 'upload/'; // dossier où sera déplacé le fichier


    $tmp_file = $_FILES['fichier']['tmp_name'];


    if( !is_uploaded_file($tmp_file) )
    {
        exit("Le fichier est introuvable");
    }


    // on vérifie maintenant l'extension
   /* $type_file = $_FILES['fichier']['type'];


    if( !strstr($type_file, '.') == ".txt" )
    {
       exit("Le fichier n'est pas un document text ");
    }   */


if (!$fp = fopen("$tmp_file","r")) {
echo "Echec de l'ouverture du fichier";


exit;


}


@mysql_connect('localhost','root','');
echo 'connexion serveur OK
';
mysql_query('DROP DATABASE IF EXISTS `bd_douane`');
mysql_query('CREATE DATABASE `bd_douane`');
echo 'creation de la BD OK
';




mysql_query('DROP TABLE IF EXISTS `table_log`');
mysql_db_query('bd_douane','CREATE TABLE `table_log` (
     Date char(255),
     Time char(255),
     Type char(255),
     User char(255),
     Etat char(255),
     NAS char(255),
     Port char(255),
     Permission char(255),
     Acct_Session_Id char(255),
     Acct_Delay_Time char(255),
     Acct_Authentic char(255),
     User_Service char(255),
     Vendor_Specific1 char(255),
     Vendor_Specific2 char(255),
     Vendor_Specific3 char(255),
     Vendor_Specific4 char(255),
     Vendor_Specific5 char(255),
     Vendor_Specific6 char(255),
     Caller_Id char(255),
     Client_Port_DNIS char(255),
     Vendor_Specific7 char(255),
     Vendor_Specific8 char(255),
     Vendor_Specific9 char(255),
     Vendor_Specific10 char(255),
     Framed_Protocol char(255),
     Framed_Address char(255),
     Vendor_Specific11 char(255),
     Vendor_Specific12 char(255),
     attribute1 char(255),
     attribute2 char(255),
     Acct_Session_Time char(255),
     attribute3 char(255),
     Acct_Input_Octets char(255),
     Acct_Output_Octets char(255),
     Acct_Input_Packets char(255),
     Acct_Output_Packets char(255))');


     while (!feof($fp)) /* on importe */
    { /* Tant qu'on n'atteint pas la fin du fichier */
       $ligne = fgets($fp,4096); /* On lit une ligne */
       $espace = preg_replace('/\s\s+/', ' ', $ligne);
       /* On récupère les champs séparés par ; dans liste  */
       $liste =  explode( " ",$espace);
       /* On assigne les variables */


     $Date_f = $liste[1];
     $Time_f = $liste[2];
     $Type_f = $liste[3];
     $User_f = $liste[4];
     $Etat_f = $liste[5];
     $NAS_f = $liste[6];
     $Port_f = $liste[7];
     $Permission_f = $liste[8];
     $Acct_Session_Id_f = $liste[9];
     $Acct_Delay_Time_f = $liste[10];
     $Acct_Authentic_f = $liste[11];
     $User_Service_f = $liste[12];
     $Vendor_Specific_f1 = $liste[13];
     $Vendor_Specific_f2 = $liste[14];
     $Vendor_Specific_f3 = $liste[15];
     $Vendor_Specific_f4 = $liste[16];
     $Vendor_Specific_f5 = $liste[17];
     $Vendor_Specific_f6 = $liste[18];
     $Caller_Id_f = $liste[19];
     $Client_Port_DNIS_f = $liste[20];
     $Vendor_Specific_f7 = $liste[21];
     $Vendor_Specific_f8 = $liste[22];
     $Vendor_Specific_f9 = $liste[23];
     $Vendor_Specific_f10 = $liste[24];
     $Framed_Protocol_f = $liste[25];
     $Framed_Address_f = $liste[26];
     $Vendor_Specific_f11 = $liste[27];
     $Vendor_Specific_f12 = $liste[28];
     $attribute1_f = $liste[29];
     $attribute2_f = $liste[30];
     $Acct_Session_Time_f = $liste[31];
     $attribute3_f = $liste[32];
     $Acct_Input_Octets_f = $liste[33];
     $Acct_Output_Octets_f = $liste[34];
     $Acct_Input_Packets_f = $liste[35];
     $Acct_Output_Packets_f = $liste[36];




                              /* Ajouter un nouvel enregistrement dans la table */
       $query = "INSERT INTO table_log VALUES('$Date_f ','$Time_f','$Type_f','$User_f','$Etat_f','$NAS_f','$Port_f','$Permission_f','$Acct_Session_Id_f','$Acct_Delay_Time_f','$Acct_Authentic_f','$User_Service_f','$Vendor_Specific_f1','$Vendor_Specific_f2','$Vendor_Specific_f3','$Vendor_Specific_f4','$Vendor_Specific_f5','$Vendor_Specific_f6','$Caller_Id_f','$Client_Port_DNIS_f','$Vendor_Specific_f7','$Vendor_Specific_f8','$Vendor_Specific_f9','$Vendor_Specific_f10','$Framed_Protocol_f','$Framed_Address_f','$Vendor_Specific_f11','$Vendor_Specific_f12','$attribute1_f','$attribute2_f','$Acct_Session_Time_f','$attribute3_f','$Acct_Input_Octets_f','$Acct_Output_Octets_f','$Acct_Input_Packets_f','$Acct_Output_Packets_f')";
       MYSQL_QUERY($query);
       if(mysql_error())
            { /* Erreur dans la base de donnees, sûrement la table qu'il faut créer */
         print "Erreur dans la base de données : ".mysql_error();
           print "
Importation stoppée.";
          exit();
          }
      ini_set("max_execution_time", 120);
          }
     fclose($fp);
     MYSQL_CLOSE();
}
?>

merci beaucoup!!
Commenter la réponse de Lasouha

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.