Ouvrir un fichier mis dans une base Sql

Signaler
Messages postés
3
Date d'inscription
mercredi 10 janvier 2007
Statut
Membre
Dernière intervention
23 janvier 2007
-
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
Bonjour j'ai créé une base de donnée sous sql qui stock des info mais surtout des fichier de toute sorte (txt,xls,...)J arrive a enregistrer mes fichiers dedans mais je n'arrive pas a les relires voici mon code qui est inspiré l'argement d'autre code qui malheurement ne convené pas ou ne marché pas
 <?php
require("params.inc.php");
$connexion = mysql_connect($hote,$login,$mdp);
mysql_select_db($bd, $connexion);
$id=$_GET['id'];$req "SELECT id,nom,type,taille,description,fichier FROM $table WHERE id '$id'";
$fichier="SELECT type FROM $table WHERE id = '$id'";
$Fichier_a_telecharger=$fichier;
$resultat = mysql_query($req);
$ligne= mysql_fetch_array($resultat);
$info = "$ligne[nom] $ligne[taille] octets $ligne[type]  documents : $id";


switch(strrchr(basename($Fichier_a_telecharger), ".")) {


case ".gz": $type = "application/x-gzip"; break;
case ".tgz": $type = "application/x-gzip"; break;
case ".zip": $type = "application/zip"; break;
case ".pdf": $type = "application/pdf"; break;
case ".png": $type = "image/png"; break;
case ".gif": $type = "image/gif"; break;
case ".jpg": $type = "image/jpeg"; break;
case ".txt": $type = "text/plain"; break;
case ".htm": $type = "text/html"; break;
case ".html": $type = "text/html"; break;
default: $type = "application/octet-stream"; break;


}


header("Content-disposition: attachment; filename=$Fichier_a_telecharger");
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: $type\n");
header("Content-Length: ".filesize($chemin . $Fichier_a_telecharger));
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");
readfile($chemin . $Fichier_a_telecharger);
echo $ligne[fichier];
mysql_close();
?>

3 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Salut,

$resultat = mysql_query($req) or die(mysql_error());

déjà, ça permettra de voir si l'erreur vient de là...

les or die sont très importants, je pensais qu'on en parlait assez ici...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
3
Date d'inscription
mercredi 10 janvier 2007
Statut
Membre
Dernière intervention
23 janvier 2007

Merci de votre réponse mais l'erreur ne viens pas de la et pour les or die promis je recommencerai plus a les oublier ...
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Salut,

header("Content-Transfer-Encoding: $type\n");

les \r\n sont ajoutés automatiquement par header, t'as pas besoin de les mettre

$fichier="SELECT type FROM $table WHERE id = '$id'";
$Fichier_a_telecharger=$fichier;

logiquement, ta variable de chemin de fichier est fausse...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)