Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
889 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Corruption de fichier .rar dans MySQL help!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Corruption de fichier .rar dans MySQL help!

n°1909602
hell_reape​r
Posté le 29-07-2009 à 08:45:44  profilanswer
 

Bonjour,
 
Je un problème de corruption des fichier dans ma base MySQL, je ne comprend pas pourquoi.... j'ai vérifier dans download.php il choisi bien de me télécharger le ficher que je souhaite mais a chaque fois y'a une photo qui est corrompu.
 
exemple:
si jai mon ficher test.rar avec 5 photo dedans la première et TOUJOURS corrompu....
 
cette partie de code me permet de uploader le ficher.rar

Code :
  1. if(isset($_POST['validation'])) {
  2. //Indique si le fichier a été téléchargé
  3.   if(!is_uploaded_file($_FILES['form_photo']['tmp_name']))
  4.   echo 'Un problème est survenu durant l opération. Veuillez réessayer !';
  5.   else {
  6.   //liste des extensions possibles     
  7.   $extensions = array('/png', '/gif', '/jpg', '/jpeg', '/x-zip-compressed' , '/octet-stream');
  8.   //récupère la chaîne à partir du dernier / pour connaître l'extension
  9.   $extension = strrchr($_FILES['form_photo']['type'], '/');
  10.   //vérifie si l'extension est dans notre tableau             
  11.   if(!in_array($extension, $extensions))
  12. echo 'Vous devez uploader un fichier de type png, gif, jpg, jpeg.<br> '.$extension.' test S : '.$extensions;
  13.    else {       //on définit la taille maximale
  14.    define('MAXSIZE', 1048576 );       
  15.    if($_FILES['form_photo']['size'] > MAXSIZE)
  16. echo 'Votre image/Zip/rar est supérieure à la taille maximale de '.MAXSIZE.' octets';
  17.      else {
  18.     $database = mysql_select_db("abcformationlog" ) or exit (mysql_error());
  19.     //récupération des infos saisies
  20.     $nom = mysql_escape_string($_POST['form_name']);
  21.     $prenom = mysql_escape_string($_POST['form_prenom']);
  22.     $form_date = mysql_escape_string($_POST['form_date']);
  23.     $form_facture = mysql_escape_string($_POST['form_facture']);
  24.   $form_photo = mysql_escape_string(file_get_contents($_FILES['form_photo']['tmp_name']));
  25.       //on insére tout ça dans nos tables.
  26.       mysql_query("INSERT INTO formation(nom, prenom, date, numero_facture, photo, extension) VALUES('".$nom."', '".$prenom."' , '".$form_date."', '".$form_facture."', '".$form_photo."', '".$_FILES[form_photo][type]."')" ) or exit (mysql_error());
  27.       mysql_close();
  28.       echo 'L insertion s est bien déroulée !';
  29.       header("Location:admin_formation.php?good_post" );
  30.       }
  31.       }
  32.      }
  33.     }


 
 
et voici mon ficher download.php

Code :
  1. <?php
  2.   $db_address = "localhost";
  3.   $db_login = "root";
  4.   $db_pass = "";
  5.   $db_bdd = "XXXXXXXX";
  6.   $connexion = mysql_connect($db_address,$db_login,$db_pass);
  7.   mysql_select_db($db_bdd,$connexion);
  8. $id = $_POST["ID"];
  9. $query = "SELECT nom,photo,extension FROM formation where ID= $id";
  10. $result = MYSQL_QUERY($query);
  11. $name = @mysql_result($result, 0, "nom" );
  12. $data = MYSQL_RESULT($result,0,"photo" );
  13. $type = MYSQL_RESULT($result,0,"extension" );
  14. header( "Content-type: $type" );
  15. header("Content-Disposition: attachment; filename=$name.rar" );
  16. print $data;
  17. ?>


 
 
 
 
merci de votre aide!


---------------
Dell Inspiron 1720
mood
Publicité
Posté le 29-07-2009 à 08:45:44  profilanswer
 

n°1909719
hell_reape​r
Posté le 29-07-2009 à 10:38:58  profilanswer
 

up


---------------
Dell Inspiron 1720
n°1909943
stealth35
Posté le 29-07-2009 à 15:27:18  profilanswer
 

hello, deja tu devrai pas socké un fichier directement dans ta base,
ca se fait plus ou moins avec le type Blob, mais c'est limiter,
 
faut te faire un dossier a part, avec tes fichiers dedans, et dans ta base sql, le path vers le fichier qui correspond
 
de plus dans ton formulaire t'as mis "octet-stream",   tout les fichier meme "php" peuve etre en "octet-stream",
 
pour le rendu du fichier, verifié bien le charset,  un caratere na pas l a meme valeur en  ANSI qu'en UTF8


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Corruption de fichier .rar dans MySQL help!

 

Sujets relatifs
[VBS] Extraire valeur champ fichier texte[batch] Extraire valeur champ fichier texte
Mettre le contenu interpretté d'un fichier php dans une variableCréation de dll et fichier .def
[RESOLU] Problème de requête et mysql_num_rowsComment récupérer des données mysql dans un tableau horizontal?
MYSQL : Jointure externe excluant les id présents dans un table[C]Connexion et récupération de fichier via ftp en C
Pattern Java | Probleme ecriture dans fichier texte.[mySQL] problème à l'insertion de polygone
Plus de sujets relatifs à : Corruption de fichier .rar dans MySQL help!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR