problème de téléchargement sur iphone

Suivre ce topic
Ce topic est suivi par : Personne...
jeannot_gates

jeannot_gates Le 31 juillet 2017 à 13:22 (Édité le 25 janvier 2019 à 17:53)

Salut a vous j'ai un petit souci avec les lien de téléchargement sur mon site sur pc et android il y'a pas de problème mais sur iphone le téléchargement se lance bien mais a la fin se n'est pas un fichier .mp3 qu'on retrouve mais un fichier du genre download.php?id=291.
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

microbe347 Le 8 août 2017 à 22:48

Ce topic est suivi par: Personne... x))))))
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte