Générer fichier à la volée avec lien pour téléchargement

Répondre
Amery
le 11/05/2009 à 19:55
Amery
Bonjour,

je souhaite générer un fichier .zip à la volée en créant un lien pour télécharger ce fichier.
Les infos sont stockées dans ma base MySql dans un champs de type longblob.

Voilà mon petit bout de code pour extraire les données et les stocker dans un fichier .zip, mais ca ne marche pô... ;(

<?php
$strquery=sprintf("SELECT ChampsBlob FROM MaTable WHERE idDoc=1");
$query=mysql_query($strquery);
$res = mysql_fetch_row($query);
$file = file_put_contents("Monfichier.zip",$res[0]);
copy($file,"Monfichier.zip");
?>


Comment récupérer les infos dans la variable $file et les copier dans un répertoire/fichier.zip sur mon serveur?
Amery
le 12/05/2009 à 08:33
Amery
oui, en utilisant la fonction file_get_contents

<?php
$file = "Monfichier.zip";
$file_blob = file_get_contents($file);

mysql_connect($dbhost,$dblogin,$dbpassword);
mysql_select_db($dbname);

$sql = 'INSERT INTO MaTable VALUES("1", "NomdeMonFichier", "'.addslashes($file_blob).'")';
$query=mysql_query($sql);
?>
Amery
le 12/05/2009 à 11:20
Amery
Je me cassais la tête pour rien...
C'est tout simple:

<?php
$strquery=sprintf("SELECT ChampsBlob FROM MaTable WHERE idDoc=1");
$query=mysql_query($strquery);
$res = mysql_fetch_row($query);
$nomFichier = "Monfichier.zip";
$pointeur = fopen($nomFichier,"w+");
fputs($pointeur,$res[0]);
fclose($pointeur);
?>
moogli
le 14/05/2009 à 15:19
moogli
file_put_contents si t'est en php 5 ;)

http://www.lephpfacile.com/manuel-php/function.file-put-contents.php
Il en faut peu pour être heureux !!!!!
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours