Probleme de téléchargement

Résolu/Fermé
-----coco----- Messages postés 87 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 3 avril 2010 - 18 oct. 2008 à 14:22
-----coco----- Messages postés 87 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 3 avril 2010 - 18 oct. 2008 à 15:10
Bonjour,

j'ai un probleme...je voudrais pouvoir télécharger un fichier qui est sur le serveur donc :

$file_path = 'dos/'.$titre;

$ofile = fopen ($file_path, 'r');

$tt = str_replace('.', '/', $titre);

header('Content-Type: $tt');

header("Content-Disposition: attachment; filename=$titre");

$content = readfile($file_path);
echo $content;
fclose ($ofile);

... $titre = 'a.doc' par exemple
donc tous ce passe bien, mais fichier que je télécharge sont corrompus...quand je les ouvre en .txt, j'obtiens un melange du code de ma page web et du fichier que j'ai recu...

j'avoue que c'est assez bizard...si quelqu'un sait ??
merci d'avance...
A voir également:

7 réponses

Utilisateur anonyme
18 oct. 2008 à 15:00
là oui OK
la mêm chose se passe -t-elle sans le str_replace
0
-----coco----- Messages postés 87 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 3 avril 2010 25
18 oct. 2008 à 15:03
j'essai...
-1
Utilisateur anonyme
18 oct. 2008 à 14:39
Bonjour,

cela me semble normal. Un fichier .doc s'ouvre avec word, un fichier .txt avec un éditeur de texte (blocnote).
un document word est un fichier formaté avec des codes de mises en page.

-1
-----coco----- Messages postés 87 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 3 avril 2010 25
18 oct. 2008 à 14:45
bonjour et merci...
mais non ce n'est pas normal, car ce que l'on voit avec l'editeur de texte, c'est ma page web, elle s'appelle recevoir.php donc elle commence par :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Reception</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<link rel="stylesheet" media="screen" type="text/css" title="Design" href="CSS.css" />
</head>
<body>
...je ne met pas la fin...c'est rop long
et donc, sur le fichier télécharger, ca comme par la meme chose...
-1
Utilisateur anonyme
18 oct. 2008 à 14:49
désolé ce n'est pas ce qui est noté dans le premier post. il est noté ... $titre = 'a.doc' par exemple
d'où ma réponse.

-1
-----coco----- Messages postés 87 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 3 avril 2010 25
18 oct. 2008 à 14:53
oui mais ca peut être un .doc, un .jpg, un .zip...
mais dans tout les cas, on peut ouvrir tout les fichiers avec le bloc note...
je cherche toujours...
-1
Utilisateur anonyme
18 oct. 2008 à 14:55
oui et donc ma réponse est correcte, le bloic note affiche du texte et pas du binaire.

sans télécharger un fichier ouvrez un www;jpg avec le bloc note et vous ne verrez que des caractères illisibles.
-1
-----coco----- Messages postés 87 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 3 avril 2010 25
18 oct. 2008 à 14:56
oui c'est bon, mais quand on telecharge un fichier, on est pas senser telecharger un bouge de la page web en meme temps ??
-1
-----coco----- Messages postés 87 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 3 avril 2010 25 > -----coco----- Messages postés 87 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 3 avril 2010
18 oct. 2008 à 15:01
par exemple, avant je met sur mon serveur un fichier texte qui contient :

ceci est le texte du fichier a.txt

apres je le telecharge et j'ai :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Reception</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<link rel="stylesheet" media="screen" type="text/css" title="Design" href="CSS.css" />
</head>
<body>
<img src="ban.jpg" alt="banniere" />
<br /><br /><br /><br />
<div id="menu">
<div class="elm">
<a href="forme.php">ICI,<br />on envoie<br /><br /></a>
<a href="/formr.php">ICI,<br />on recoit</a>
<a href="../index.php">ICI,<br />sommaire</a>
</div>
</div>


<div id="corps">

ceci est le texte du fichier a.txt


</div>
</body>
</html>

ce qui est le debut et la fin de ma page web...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
-----coco----- Messages postés 87 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 3 avril 2010 25
18 oct. 2008 à 15:04
ca fait pareil sauf que juste avant la fin j'ai un :

1643

qui est apparu...??
-1
Utilisateur anonyme
18 oct. 2008 à 15:07
???? c'est quoi le nombre de ligne ?
je reagrde de plus près.

en attendant regardez là
https://php.developpez.com/faq/?page=fichiers#fichiers_forcedownload

ou alors

<?
$file=$_GET['file'];

//telechargement
$taille=filesize("doc/$file");
header("Content-Type: application/force-download; name=\"$file\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: $taille");
header("Content-Disposition: attachment; filename=\"$file\"");
header("Expires: 0");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
readfile("doc/$file");
exit();
?>
-1
-----coco----- Messages postés 87 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 3 avril 2010 25
18 oct. 2008 à 15:10
c'est bon, j'ai trouver...
en fait, comme ce n'est pas une page qui affiche du html, il faut supprimer tout le html;
et donc commencer par un <?php des le premier espace, et finir par un ?> !!

merci beaucoup giheller
-1