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 02/11/2006, 14h16   #1
Nouveau Membre du Club
 
Inscription : juin 2002
Messages : 160
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 160
Points : 37
Points : 37
Par défaut Forcer le téléchargement d'un fichier

Bonjour,

Voilà j'ai crée un lien href vers un fichier XML. Je souhaiterai que ce fichier ne s'ouvre pas dans le navigateur mais dans un éditeur pour que l'on puisse le modifier.

J'ai lu et relu tout un tas de posts et de FAQ et j'en ai déduit qu'il fallait sans doute que je force le téléchargement d'où le code suivant:
Code :
println("<td width=\"50\"><a href =\"downloadXML.php?chemin=".$xmlchemin ."&file=".$xmlfile ."\" target =\"_blank\">XML</a></td>");
et dans downloadXML.php (copier complètement) :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 <?php
                         $chemin = $_GET["chemin"];
 		$file = $_GET["file"];
 		if($file) {
 			$tailledufichier = filesize($chemin.$file);
			@ob_end_clean();
			@ini_set('zlib.output_compression','Off');
			header('Pragma: public');
			header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
			header('Cache-Control: must-revalidate, pre-check=0, post-check=0, max-age=0');
			header('Content-Tranfer-Encoding: none');
			header('Content-Type: application/xml; name="'.$file.'"');
			header('Content-Disposition: attachement; filename="'.$file.'"');
			header('Content-Length: '.$tailledufichier);
			readfile($chemin.$file); 
	   	}?>
Deux problèmes :
- J'ai une liste de
Citation:
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\halms\downloadXML.php:1) in C:\wamp\www\halms\downloadXML.php on line 8
qui s'affiche...
- aucune boite de téléchargement n'apparait, mais le contenu de mon XML est affiché par le navigateur(contenu du fichier sans les balises XML) à la suite des Warning...

J'ai la sensation que ce que j'ai fait est bancale mais comme je ne suis vraiment pas à l'aise avec PHP et encore moins avec header() je ne m'en sors pas!!

Merci!!
norkius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2006, 14h18   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 1 249
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2005
Messages : 1 249
Points : 1 417
Points : 1 417
Tu n'aurais pas un espace ou une ligne avant ton <?php ?
vg33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2006, 14h29   #3
Nouveau Membre du Club
 
Inscription : juin 2002
Messages : 160
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 160
Points : 37
Points : 37
Effectivement j'avais un espace devant le <?php qui a réglé le problème des warnings... Merci beaucoup!!

Reste que la boîte de dialogue ne s'affiche toujours pas... J'ai juste le fichier XML qui s'affiche dans IE et je ne peux donc pas éditer directement mon fichier XML...
norkius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2006, 14h34   #4
Membre Expert
 
Inscription : janvier 2005
Messages : 1 249
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2005
Messages : 1 249
Points : 1 417
Points : 1 417
Essaie de remplacer :
Code :
header('Content-Type: application/xml; name="'.$file.'"');
par :
Code :
header('Content-Type: application/force-download; name="'.$file.'"');
ou par :
Code :
header('Content-Type: application/octet-stream; name="'.$file.'"');
vg33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2006, 14h41   #5
Nouveau Membre du Club
 
Inscription : juin 2002
Messages : 160
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 160
Points : 37
Points : 37
Non malheureusement que ce soit octet-stream ou force-download le résultat est identique...
norkius 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 23h05.


 
 
 
 
Partenaires

Hébergement Web