2014-12-07 44 views
0

我想用PHP強制下載點擊一個按鈕。但是,除了頁面重新加載之外,每次下載按鈕被單擊時都不會發生任何事情。文件下載不工作頁面刷新

if(isset($_GET['download'])){ 

    try { 
     $sql = 'SELECT file_name, file_type FROM files WHERE id = :id'; 
     $s = $pdo->prepare($sql); 
     $s->bindValue(':id', $_GET['file_id']); 
     $s->execute(); 
    } catch (PDOException $e) { 
     $error = 'download error: ' . $e->getMessage(); 
     include 'error.php'; 
     exit(); 
    } 

    $file = $s->fetch(); 
    if(!$file){ 
     $error = 'File not found!: ' . $e->getMessage(); 
     include 'error.php'; 
     exit(); 
    } 

    $filename = $file['file_name']; 
    $mimetype = $file['file_type']; 
    $filedata = "users/$firstname/".$_POST['file_name']; 
    $disposition = 'inline'; 

    header('Content-length: ' . strlen($filedata)); 
    header("Content-Transfer-Encoding: Binary"); 
    header("Content-disposition: $disposition; filename=$filedata"); 

    echo readfile($filedata); 
    exit(); 
} 

回答

0

我認爲強制下載的最好的辦法是:

header('Location: *Your path to download file*'); 

但這只是我的想法,而這個答案可能是真的無助於你...