problème de téléchargement sur iphone
- Accueil
- Forum
- Programmation
- PHP
- problème de téléchargement sur iphone
jeannot_gates Le 31 juillet 2017 à 13:22 (Édité le 25 janvier 2019 à 17:53)
Voici mon lien de téléchargement :
<a href="compteur_urban.php?id=<?php echo $get_id ?>" title="Télécharger <?php echo $titre ?> de <?php echo $nom ?>"><img src="../img/download.PNG" class="img-responsive downloader_img"></a>
Mon site dispose d'un compteur de téléchargement voici le fichier compteur.php qui renvoit le fichier
<?php
require_once'../functions/connect.func.php';
$filesdir = '../media/';
// Récupération du fichier passé en paramètre
$id_fichier = (isset($_GET['id'])) ? trim(intval(sprintf("%d", $_GET['id']))) : 0;
// est-ce que ce fichier existe ?
$req_testFichierExiste = $bdd->prepare("SELECT * FROM kamer_urban WHERE id= :id LIMIT 1");
$req_testFichierExiste->execute(array('id' => $id_fichier));
$fichier_existe = false; $fichier = array();
while ($test = $req_testFichierExiste->fetch())
{
if ((isset($test['chemin_download'])) && ($test['chemin_download'] != ''))
{
$fichier_existe = true;
$fichier = $test;
break;
}
}
$req_testFichierExiste->closeCursor();
if ($fichier_existe == false)
die('Fichier non trouvé aie.');
// ici nous sommes sûrs que le fichier n°XXX existe bien en base de données
// IMPORTANT : avant quoi que ce soit, on vérifie que le fichier existe aussi sur le serveur
// (et pas seulement en base de données)
if ((file_exists($filesdir . $test['chemin_download'])) && (is_file($filesdir . $test['chemin_download'])))
{
// Le fichier existe bien : on va incrémenter son compteur de téléchargements
$req_augmenterTelechargements = $bdd->prepare("UPDATE kamer_urban SET downloaded = (downloaded+1) WHERE id= :id");
$req_augmenterTelechargements->execute(array('id' => $id_fichier));
switch(strrchr(basename($test['chemin_download']), "."))
{
case ".mp3": $type = "text/html"; break;
default: $type = "application/octet-stream"; break;
}
header("Content-disposition: attachment; filename=".$test['chemin_download']);
header("Content-Type: application/octet-stream");
header("Content-Transfer-Encoding: $type\n"); // Surtout ne pas enlever le \n
header("Content-Length: ".filesize($filesdir . $test['chemin_download']));
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");
readfile($filesdir . $test['chemin_download']);
header("Location: ".$filesdir . $test['chemin_download']);
#header('location:'.$_SERVER['HTTP_REFERER']);
exit();
};
?>
Et voici le lien de téléchargement d'une musique [url=http://thelifestore.cm/musique/download.php?id=291]http://thelifestore.cm/musique/download.php?id=291
[/url]donc je ne sais pas se qui cloche si quelqu'un a une explication je suis prenneur merci a vous tous pour vos réponse
microbe347 Le 8 août 2017 à 22:48 (Édité le 1 janvier 1970 à 01:00)