Page 1 sur 1

Telecharger un fichier zip via un fichier php

Posté : 31 mars 2005, 15:12
par aqua007
bonjour,

Je voudrais pouvoir faire telecharger un fichier zip par exemple via un fichier php.

style fichier.php?id=2, je recupère l'url de telechargement via l'id recuperé et "j'envoi" le fichier demandé.

Je sais pas trop comment on fait ça, je pense qu'il faut changer le header, si quelqu'un avait un exemple déjà fait ce serait sympas ;)

En même temps, je voudrait compter combien de fois le fichier à été téléchargé ;) je pense qu'il faut un champs nb_dl dans la base que j'increment de 1 a chaque execution de la page. Si y'a mieux dites moi :)

Merci.

Posté : 31 mars 2005, 15:23
par flitox
Oui c'est bien avec header() :

Je te passe un code que j'ai fait il y a un petit moment ;)
<?php
// infos du fichier 
$fichier = "fichier.zip";
     
// téléchargement du fichier 
header('Content-disposition: attachment; filename='.fichier); 
header('Content-Type: application/force-download'); 
header('Content-Transfer-Encoding: fichier');  
header('Content-Length: '.filesize($fichier)); 
header('Pragma: no-cache'); 
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0'); 
header('Expires: 0'); 
readfile($fichier);
?>

Posté : 31 mars 2005, 16:00
par aqua007
Ouki, ça fonctionne, par compte ça met pas mal de temps entre le temps ou je clique et le moment ou le téléchargement commence (6, 7s) !
Pourquoi c'est aussi long ? y'aurai pas moyen que ce soit instantané ?
ça le fait même sans que je fasse mes requetes pour recup l'url dans la bdd !

Posté : 31 mars 2005, 16:06
par flitox
Le problème ne vient pas du code je l'utilise dans un de mes scripts depuis longtemps déjà et je n'ai pas ce problème

Posté : 31 mars 2005, 16:41
par aqua007
bon je me suis renseigné, apparament faire un readfile sur un gros fichier zip c'est pas bon s'pour ça que c'est long. Du coup je fais un header tout simple ça fonctionne :)