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

Résolu
mao54 Messages postés 4 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 24 mars 2008 - 23 mars 2008 à 16:02
Lasouha Messages postés 1 Date d'inscription samedi 29 décembre 2007 Statut Membre Dernière intervention 16 juillet 2008 - 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();
 }   
    


 

?>

6 réponses

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

<form action="page.php" method="POST" enctype="multipart/form-data">
3
bcmfr Messages postés 137 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 20 novembre 2016
23 mars 2008 à 16:18
slt
quel est le message d'erreur?
@+
0
mao54 Messages postés 4 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 24 mars 2008
23 mars 2008 à 17:04
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
0
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
23 mars 2008 à 18:17
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>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mao54 Messages postés 4 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 24 mars 2008
23 mars 2008 à 20:30
merci bcp

ca marche

 encore grand merci.
0
Lasouha Messages postés 1 Date d'inscription samedi 29 décembre 2007 Statut Membre Dernière intervention 16 juillet 2008
16 juil. 2008 à 11:29
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!!
0
Rejoignez-nous