Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/03/2007, 16h23   #1
Membre émérite
 
Avatar de Jérémy Lefevre
 
Homme Jeremy lefevre
Développeur Java
Inscription : juin 2004
Messages : 866
Détails du profil
Informations personnelles :
Nom : Homme Jeremy lefevre
Âge : 28
Localisation : Luxembourg

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2004
Messages : 866
Points : 931
Points : 931
Envoyer un message via MSN à Jérémy Lefevre Envoyer un message via Yahoo à Jérémy Lefevre
Par défaut téléchargement fichier binaire

bonjour j'ai un problème à télécharger des fichier binaires avec ce script
Code :
1
2
3
4
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename=mon.exe");
    header("Content-Transfer-Encoding: binary"); 
    header("Content-Length: ".filesize("mon.exe"));
cela me télecharge un fichier vide!! si quelqu'un peux m'eclairer!!
merci jérémy
__________________
Rien ne se perd, rien ne se crée, tout se transforme
nouveau Softphone VoipGATE

------- http://www.voipgate.com -------
Jérémy Lefevre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 16h38   #2
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
ca viendrait pas de mon.exe?

je veux dire c'est un fichier qui est dans le meme répertoire que ton site?

ca provient p-e du filename=mon.exe
essaie de le mettre entre guillement le nom de ton fichier

aussi je sais pas si c'est ca mais il me semble que j'avais un probleme semblable et j'ai ajouter le readfile à la fin...ca te prend le path absolu par contre

Code :
1
2
3
4
5
6
7
8
9
10
 
//Récupération des variables
$fichier = $_GET['file'];
$path = $_GET['dossierPath'];
 
$downloadurl = $path . $fichier;
$size = filesize($downloadurl);
 
readfile($downloadurl);  //Permet l'affichage du contenu du fichier
exit;  //Retour à la page
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 11h52   #3
Membre émérite
 
Avatar de Jérémy Lefevre
 
Homme Jeremy lefevre
Développeur Java
Inscription : juin 2004
Messages : 866
Détails du profil
Informations personnelles :
Nom : Homme Jeremy lefevre
Âge : 28
Localisation : Luxembourg

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2004
Messages : 866
Points : 931
Points : 931
Envoyer un message via MSN à Jérémy Lefevre Envoyer un message via Yahoo à Jérémy Lefevre
Alors mon fichier download.php ce trouve dans le même repertoire que le fichier à télécharger j'ai essayer
Code :
header("Content-Type: application/force-download");
mais j'ai toujour la meme chose le fichier télécharger est vide!
__________________
Rien ne se perd, rien ne se crée, tout se transforme
nouveau Softphone VoipGATE

------- http://www.voipgate.com -------
Jérémy Lefevre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/03/2007, 15h43   #4
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
salut
fichier vide...hmm
t'as inscrit le readfile(ton_path) à la fin?
je te laisse mon script complet, il fonctionne très bien pour moi autant testé localement que sur mon serveur


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
//Récupération des variables
$fichier = $_GET['file'];
$path = $_GET['dossierPath'];
 
$downloadurl = $path . $fichier;
$size = filesize($downloadurl);
 
//Forcer le téléchargement avec les headers
header("Pragma: public");
header("Expires: 0");
//empeche la mise en cache
if(isset($_GET['type']) && $_GET['type'] == 'transfere'){
	header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
}
header("Cache-Control: private",false);
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=\"".$fichier."\";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$size);
 
readfile($downloadurl);  //Permet l'affichage du contenu du fichier
exit;  //Retour à la page
voilà
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2007, 11h08   #5
Membre émérite
 
Avatar de Jérémy Lefevre
 
Homme Jeremy lefevre
Développeur Java
Inscription : juin 2004
Messages : 866
Détails du profil
Informations personnelles :
Nom : Homme Jeremy lefevre
Âge : 28
Localisation : Luxembourg

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2004
Messages : 866
Points : 931
Points : 931
Envoyer un message via MSN à Jérémy Lefevre Envoyer un message via Yahoo à Jérémy Lefevre
ok ca marche bien maintenant mais il faut obligatoirement mettre le readfile à la fin
Code :
1
2
3
4
5
6
7
8
9
10
11
12
function download($MONURL, $NOM_DU_FICHIER)
{
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: private",false);
    header("Content-Type: application/force-download");
    header("Content-Disposition: attachment; filename=$NOM_DU_FICHIER");
    header("Content-Transfer-Encoding: binary"); 
    header("Content-Length: ".filesize("$NOM_DU_FICHIER"));
    readfile("$MONURL.$NOM_DU_FICHIER");
}
merci encore Jérémy
__________________
Rien ne se perd, rien ne se crée, tout se transforme
nouveau Softphone VoipGATE

------- http://www.voipgate.com -------
Jérémy Lefevre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/03/2007, 15h03   #6
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
salut je crois que oui
enfin à partir de là je testerais en mettant en commentaire une ligne à la fois...
mais si tu ne fais pas le readfile tu ne peux pas l'ouvrir
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h26.


 
 
 
 
Partenaires

Hébergement Web