problème forcer telechargement fichier

Cams
Invité n'ayant pas de compte PHPfrance

15 déc. 2005, 11:40

Bon j'essaie de forcer le téléchargement d'un fichier, contenu dans ma base de donnée mais je n'y arrive pas...

voici ma page avec le lien et la connection à la base de donnée:
<?php
include("connection.php");
$query = "SELECT telechargement_donnee from donnee where id_donnee=217";
$result = mysql_query($query) or die ('Erreur SQL !<br>'.mysql_error()); 
$row=mysql_fetch_array($result);
$filname=$row["telechargement_donnee"];
echo $filname;
$dir= "../site/";
$chemin= "http://127.0.0.1/site/";
?>

<A href="ggggg.php?chemin=<?php echo $chemin; ?>&file=<?php echo $filname; ?>">telecharger
voici ma page ggggg.php de telechargement
<?php
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=".$file);
readfile($chemin.$file);
?> 
en fait quand je clique sur telecharger ca m'ouvre une fenetre où ca me donne la possibilité de télécharger le fichier... ggggg.php :oops:
sinon quand je passe la souris sur le lien voici l'URL affichée en bas

Code : Tout sélectionner

http://127.0.0.1/site/ggggg.php?chemin=http://127.0.0.1/site/&file=05.jpg
merci de m'aider :oops:

Eléphant du PHP | 413 Messages

15 déc. 2005, 12:14

Bonjour,

Si la fenêtre qui s'ouvre est celle qui propose le choix entre :
- ouvrir le fichier
- ou le télécharger

alors ça me paraît être le fonctionnement normal.
Dis-nous si c'est ça ou une autre fenêtre.
--
Goeb

cams
Invité n'ayant pas de compte PHPfrance

15 déc. 2005, 12:30

C'est la fenetre de téléchargement... mais si je met enregistrer beh je vais enregistrer sur mon disuqe le fichier ggggg.php alors que moi je veux enregistrer le fichier correspondant au fichier contenu dans ma base de donnée: exemple: "bonjour.jpg" :cry:

ViPHP
pjl
ViPHP | 2119 Messages

15 déc. 2005, 13:05

tu dois passer par de l'urlrewriting.

Invité
Invité n'ayant pas de compte PHPfrance

15 déc. 2005, 15:14

c'est à dire? :)

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

15 déc. 2005, 17:25

S'il te propose d'enregistrer ta page PHP, c'est que les header() ne fonctionnent pas.
Va voir le manuel : http://fr2.php.net/manual/fr/function.header.php
Exemple 7. Utilisation de header() pour générer un fichier de type PDF ou d'un autre type
<?php
// Vous voulez afficher un pdf
header('Content-type: application/pdf');

// Il sera nommé downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// Le source du PDF original.pdf
readfile('original.pdf');
?>
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

ViPHP
pjl
ViPHP | 2119 Messages

16 déc. 2005, 09:47

c'est à dire? :)
13 sujets traitent déjà de celà sur ce forum et je ne parle pas de google.

Si tu ne connais pas un mot ou une technique, tu peux déjà commencer par chercher tout seul.