Я пытаюсь использовать 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();
}
Я думаю, что лучший способ заставить скачать:
header('Location: *Your path to download file*');
Но это именно то, что я думаю, и этот ответ может быть бесполезным для вас...