Ouvrir un fichier mis dans une base Sql

vincs51 Messages postés 3 Date d'inscription mercredi 10 janvier 2007 Statut Membre Dernière intervention 23 janvier 2007 - 23 janv. 2007 à 14:47
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 23 janv. 2007 à 20:40
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

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
23 janv. 2007 à 20:15
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)
0
vincs51 Messages postés 3 Date d'inscription mercredi 10 janvier 2007 Statut Membre Dernière intervention 23 janvier 2007
23 janv. 2007 à 20:31
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 ...
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
23 janv. 2007 à 20:40
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)
0
Rejoignez-nous