我有一个文件列表。 href设置为文件位置的链接列表。
我的用户点击其中一个链接下载文件。
我的用户不懂技术,我喜欢他们将文件直接下载到所需位置。
他们通过右键单击并选择“将链接保存为”来执行此操作 - 然后他们可以选择下载到哪里,而不是将文件转到下载文件夹。
我希望用户能够选择要下载的多个文件(使用复选框并输入下载按钮)。通过这种方式,他们点击下载按钮,文件集将转到下载文件夹。
是否可以让用户使用我的复选框选择多个文件,然后以某种方式让他们选择保存位置?不是通过输入输入的路径(我的用户不是技术娴熟),而是通过触发浏览器功能,可以点击“保存链接为”?可能使用JS?
它必须作为单独的文件下载 - 不是拉链
由于
答案 0 :(得分:0)
您可以为每个请求返回一个文件但使用js可以发送多个请求 可以在用户的浏览器中设置将所有文件保存到默认下载文件夹的选项,无法通过脚本执行此操作。
<?php
if (isset($_REQUEST['file'])) {
header("Content-transfer-encodig: binary");
header("Content-disposition: attachment; filename=" . basename($_REQUEST['file']) );
readfile($_SERVER['DOCUMENT_ROOT'].'//path//to//' . $_REQUEST['file'] );
exit;
}
?>
<input type="checkbox" class="files" id="file1"><label for="file1">file1.txt</label>
<input type="checkbox" class="files" id="file2"><label for="file2">file2.txt</label>
<input type="checkbox" class="files" id="file3"><label for="file3">file3.txt</label>
<button onclick="downloadFiles()">Download file(s)</button>
<script>
function downloadFiles() {
var fileIds = $('.files:checked').each(function() {
window.open('test3.php?file=' + $(this).next('label').text());
});
}
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>