Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur http2 téléchargement AJAX PHP

    2 février 2023 à 14:09:36

    Bonjour à tous, je viens demander conseil car j'ai un soucis avec un script PHP/AJAX pour un téléchargement de fichier.

    J'ai une erreur net::ERR_HTTP2_PROTOCOL_ERROR 200 alors que mon navigateur est comptatible http/2 et que mon serveur l'est aussi.

    Voici mon script AJAX

    function downloadTabs(tabs, file) {
    
    	$.ajax({
            type: "GET",
            url: "../../global/download.php?t="+tabs+"&f="+file,
            success: function(data) {
                console.log("Réponse du serveur : " + data);
            }
        });
    }

    Et voici mon code PHP

    <?php
    
    $tabs = (isset($_GET['t']) && $_GET['t'] != '') ? $_GET['t'] : false;
    $file = (isset($_GET['f']) && $_GET['f'] != '') ? $_GET['f'] : false;
    
    // désactive le temps max d'exécution
    set_time_limit(0);
    
    // Récupération de l'extension et du nom du fichier
    $path_parts = pathinfo($file);
    $ext = $path_parts['extension'];
    $filename = $path_parts['filename'];
    
    // Mettre à jour le nombre de téléchargements dans la base de données
    include 'sql_connect.php';
    
    $conn = new mysqli(SQL_HOST, SQL_USER, SQL_MDP, SQL_BDNAME);
    if ($conn->connect_error) {
        die("Connexion échouée : " . $conn->connect_error);
    }
    
    $sql = "UPDATE bandscore SET dl_count = dl_count + 1 WHERE file = '$filename' AND ext = '$ext'";
    
    if ($conn->query($sql) === TRUE) {
        echo "Mise à jour réussie";
    } else {
        echo "Erreur lors de la mise à jour : " . $conn->error;
    }
    
    $conn->close();
    
    // Configuration du lien du fichier
    $filepath = '../content/tabs/'.$tabs.'/'.$file;
    
    if (is_file($filepath)) echo "\nLe fichier existe";
    else echo "\nFichier introuvable";
    
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="'.basename($file).'"');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($filepath));
    readfile($filepath);
    
    exit;
    
    ?>

    Avez-vous une idée du problème ?

    Merci.

    -
    Edité par ajikfan 2 février 2023 à 14:10:32

    • Partager sur Facebook
    • Partager sur Twitter

    Erreur http2 téléchargement AJAX PHP

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown