Transmission de headers - PHP - Programmation
Marsh Posté le 18-06-2007 à 13:54:01
ReplyMarsh Posté le 18-06-2007 à 14:00:37
rufo a écrit : ben fait un phpinfo() pour avoir les versions de php et mysql... |
J'avais complètement zappé cette fonction
Alors,
Version de php : 4.4.3
Version de Mysql : 5.0.34
Merci
Marsh Posté le 18-06-2007 à 22:43:49
ReplyMarsh Posté le 22-06-2007 à 14:33:48
warak a écrit : Personne ne s'y connait en force-download et en transmission de header?? |
header("Content-disposition:filename=tonficher.gloubiglouba$$" );
header("Content-type:application/octetstream" );
Marsh Posté le 23-06-2007 à 18:14:44
Salut grosbin et cgo2,
Je testerai ce soir et je vous dirai ce qu'il se passe,
Merci de votre réponse!
Marsh Posté le 24-06-2007 à 16:58:42
Bon, sur Mozilla Firefox, il semblerait qu'il n'y ait plus de problème quant à la reconnaissance de la taille, mais il subsiste un problème, Mozilla ne télécharge seulement 1Mo sur 11Mo de la musique.. Est ce normal??
Sur Internet Explorer, l'invite de téléchargement me propose toujours de télécharger la page web et non le fichier... ??
Voici la partie header modifiée :
header("Pragma: no-cache" );
header("Expires: 0" );
header("Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0" );
header("Cache-Control: private",false);
header("Content-Transfer-Encoding: binary" );
header("Content-Type:application/octetstream" );
header("Content-Length:".$taille);
header("Content-Disposition:filename=\"".$mus[0]. "\";" );
readfile("$musique" );
Merci de votre aide!
Marsh Posté le 18-06-2007 à 12:10:19
Salut tout le monde,
Je suis en train de créer une page web, sur laquelle on peut télécharger des sons mp3, cependant j'ai quelques soucis.
1) Sous Internet Explorer : Il peut se passer deux choses :
-soit j'ai l'invite de téléchargement qui me propose de télécharger la page et non le fichier.
-soit j'ai un texte crypté qui s'affiche dans le navigateur.
2)Sous Mozilla Firefox : L'invite de téléchargement fonctionne bien, mais c'est au moment du téléchargement que Mozilla affiche taille de fichier inconnue dans la fenêtre de téléchargement et celui ci ne télécharge pas le fichier en entier.
Peut-être ces problèmes sont ils liés?..
Si vous pouviez m'éclairer sur ces erreurs, cela m'aiderait énormément car cela fait 2 jours que je bloque...
Voici le lien pour que vous puissiez tester : http://slaneofficiel.free.fr/download.php?id=12
Et voici le code que j'ai écrit :
<?php
if(isset($_GET['id'])){
$idcon=@mysql_connect('sql.free.fr','slaneofficiel','password');
$idbase=mysql_select_db(slaneofficiel);
if(!$idcon| !$idbase){
echo "<script type=text/javascript>";
echo "alert('Connexion impossible à la base')";
}
$id=$_GET['id'];
$chemin='musiques/';
$requete="SELECT titre FROM musiques WHERE id='$id'";
$resultat=mysql_query($requete, $idcon);
$num=mysql_num_rows($resultat);
if($num == 1){
$mus=mysql_fetch_row($resultat);
$musique= $chemin.$mus[0];
$taille= filesize("$musique" );
header("Pragma: no-cache" );
header("Expires: 0" );
header("Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0" );
header("Cache-Control: private",false);
header("Content-Transfer-Encoding: binary" );
header('Content-Type : audio/mpeg');
header("Content-Length :".$taille);
header("Content-Disposition: attachment; filename=\"".$mus[0]. "\";" );
readfile("$musique" );
}
else{
echo"Le fichier demandé n'a pas été trouvé";
}
}
else{
echo"Aucun fichier spécifié!";
}
?>
Pour info, l'hébergeur est Free; je ne connais pas les versions de PHP et MYSQL proposées par cet hébergeur...
PS : Le password n'est bien évidemment pas "password"^^
Merci par avance de votre aide
Message édité par warak le 22-06-2007 à 13:36:13