pb upload fichier + insertion base

pb upload fichier + insertion base - PHP - Programmation

Marsh Posté le 28-09-2004 à 11:18:39    

Bonjour
je suis en train de fair un script qui upload un fichier et qui l' insert dans une base mysql.
Tous marche a l' upload et mon probleme vien de linsertion dasn la base.
Sa marche tres bien pour les fichier de - de 3Mo apres la requete resot des erreurs tel que Mysql has gone away  ou Got a packet bigger than 'max_allowed_packet'
 
jai mis sa pour le champ contenat le fichier
file_data` longblob NOT NULL,
 
et voila la fonction pour ajouter le fichier en base
 

Citation :


function Insert_data($name,$temp,$size)
  {
   if ($f = fopen( $temp, "r" )) {
        $data = fread($f, $size);
        $data = addslashes($data);
        $date = date("YmdHis" );
   
        require ('config.php');//the config file
       $sql = "INSERT INTO ".$table_prefix."file (file_id ,file_name ,file_size ,file_data ,file_date ,file_comment ,file_container ,file_user) VALUES ('','".$name."','".$size."','".$data."','".$date."','".$this->comment."','".$this->container."','".$_SESSION['login']['id']."')";  
        $query = NEW Query();
        $query->Sql($sql) or die ('erreur d\' execution de la requète<br>');  
        return 1;
        }
      else
        {
        return 0;  
        }
  }


 
D' ou cela peut il venir ?? mauvaise config mysql ?

Reply

Marsh Posté le 28-09-2004 à 11:18:39   

Reply

Marsh Posté le 28-09-2004 à 14:35:07    

Probleme de configuration de mysql qui n'accepte pas les fichier de plus de trois mega en base.
D'ailleur tu mais le contenu du fichier en base ?
Si c'est le cas, je te conseille plutot de copier le fichier dans un rep temps et de le renommer par la cle md5 du fichier et d'enregistrer cette cle dans l'enregistrement.
Comme cela ca te permet de le retrouver rapidement. Et puis si tu a deux fichiers identiques de pas les avoir deux fois en base.
 
Yannick

Reply

Marsh Posté le 28-09-2004 à 14:47:39    

ok jte remerci pour ton aide. Je crois que jvais abandonnée le faite dinserer le contenu du fichier en base c plus sage :).
Je vais juste stocker en base le nom du fichier sa taille ... et le fichier aura comme nom lid du fichier en base ca sera plus simple a faire et jauré moin de probleme !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed