le 04/12/2006 à 09:01
Also know as
Bonjour,
J'ai suivi la règle pour télécharger un fichier en forcant le téléchargement ET par MySQL pour ne pas savoir l'adresse exacte.
Les lignes de fin sont pour faire mes tests.
Et grace à ces lignes je sais que tout est bien envoyé/reçus.
Mais malheureusement le téléchargement en commence pas.
SI j'enlève le if (file_exists($fichier)) alors il me lance le téléchargement, l'adresse est invisible, MAIS le nom de fichier est tout simplement l'adresse de là ou il va le télécharger.
Par contre si je fais clic droit enregistrer sous là c'est bon plus de problème...
Quelqu'un aurait une idée de mon problème ou alors existe t-il un moyen pour renommer le nom du fichier ?
J'utilise MySQL 5.0.
@+
J'ai suivi la règle pour télécharger un fichier en forcant le téléchargement ET par MySQL pour ne pas savoir l'adresse exacte.
<?php
$base = mysql_connect ('xxxxxx', 'xxxxx', 'xxxxx');
mysql_select_db ('xxxxxxx', $base) ;
// Préparation de la requête SQL sélectionnant le lien du fichier sélectionné
$sql = 'SELECT lien FROM download WHERE id="'.$id.'"';
// Execution de la requête
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
// recuperation du lien
$data = mysql_fetch_array($req);
$fichier = $data['lien'];
// fermeture de la connexion à la base de données
mysql_free_result ($req);
mysql_close ();
// on teste si le fichier est sur le serveur
if (file_exists($fichier))
{
header("Content-disposition: attachment; filename=".$fichier);
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: binary");
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);
}
echo $sql;
echo "<br>";
echo $fichier;
?>
Les lignes de fin sont pour faire mes tests.
Et grace à ces lignes je sais que tout est bien envoyé/reçus.
Mais malheureusement le téléchargement en commence pas.
SI j'enlève le if (file_exists($fichier)) alors il me lance le téléchargement, l'adresse est invisible, MAIS le nom de fichier est tout simplement l'adresse de là ou il va le télécharger.
Par contre si je fais clic droit enregistrer sous là c'est bon plus de problème...
Quelqu'un aurait une idée de mon problème ou alors existe t-il un moyen pour renommer le nom du fichier ?
J'utilise MySQL 5.0.
@+