选择文件下载保存路径

时间:2015-01-13 10:07:54

标签: php browser download

我有一个文件列表。 href设置为文件位置的链接列表。

我的用户点击其中一个链接下载文件。

我的用户不懂技术,我喜欢他们将文件直接下载到所需位置。

他们通过右键单击并选择“将链接保存为”来执行此操作 - 然后他们可以选择下载到哪里,而不是将文件转到下载文件夹。

我希望用户能够选择要下载的多个文件(使用复选框并输入下载按钮)。通过这种方式,他们点击下载按钮,文件集将转到下载文件夹。

是否可以让用户使用我的复选框选择多个文件,然后以某种方式让他们选择保存位置?不是通过输入输入的路径(我的用户不是技术娴熟),而是通过触发浏览器功能,可以点击“保存链接为”?可能使用JS?

它必须作为单独的文件下载 - 不是拉链

由于

1 个答案:

答案 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>