使用 jQuery 或 JS 或 PHP 下载目录中的所有文件?

Posted

技术标签:

【中文标题】使用 jQuery 或 JS 或 PHP 下载目录中的所有文件?【英文标题】:Downloading all files in a directory using jQuery or JS, or PHP? 【发布时间】:2014-04-13 01:54:07 【问题描述】:

现在,我知道当我在 SO 上发帖时,最好包含我尝试过的代码。问题是,我在 Google 上找不到任何符合我需求的东西。所以我冒着很小的风险问这个问题,没有代码来显示我尝试过的内容,因为实际上除了更改压缩文件夹的文件扩展名以匹配用于下载它们的设备之外,我无法尝试任何事情。所以,就这样吧-)

我有一个文件夹,它包含 15 个 .MP3 文件。该网站的观众可以通过我在网上找到的音频播放器(皇家音频播放器)下载它们。我想合并一种方式(不是在音频播放器中,在使用图像的单独 html 中),允许我的用户可以选择一次下载所有 MP3 文件,而不是一个接一个。

有没有办法做到这一点?感谢您提供任何帮助,对于没有提供任何代码供人们查看,我再次道歉。提前致谢。 =)

编辑:更改标题以询问 php 方法。 =)

【问题讨论】:

我认为这在客户端是不可能的。您使用的是哪种服务器端技术? 我在没有 Db 或任何东西的 Apache 上运行,而对于 Web 编码,我使用的是 HTML5 和 JS/jQuery。有人告诉我,一旦用户批准开始下载,就可以在启动用户提示时使用 JS 从目录中下载所有文件,以提醒用户他们正在下载文件列表,而不仅仅是一个文件。但我无法在互联网上的任何地方找到。也许我可以用 PHP 做到这一点? 如果你决定在 PHP 上做,那么这就是你可以做的。只需向用户提供一个全部下载按钮,当用户单击它时,您会在服务器端获得全部内容,然后使用 php 代码为所有 15 个音频文件制作一个 zip 文件,然后返回该 zip 文件作为响应。跨度> 您能否提供一些代码。我根本不熟悉 PHP。我所需要的只是某种起点,其余的我可以做。哎呀,它可能不需要那么多编码来做大声笑。此外,我已经准备好下载所有按钮(不是 HTML 按钮,而是使用 href="location" 的图像,如果有帮助的话)并且不知道从那里去哪里。抱歉,在此先感谢 =) 【参考方案1】:

像这样创建一个锚元素

<a href="/myProject/downloadAll.zip"> Download All </a>

在 php 中,在该路径上添加一个路由并创建一个 zip 并将该 zip 作为响应返回。

您可以使用these examples on php.net 了解如何在 php 中创建 zip。

【讨论】:

您认为哪一个选项最适合我的需求?正如我所说,我根本不懂 PHP,哈哈。对我来说,这确实是一种完全不同的语言,所以我为自己是个菜鸟而道歉,哈哈。也许您可以提供一个 PHP 代码示例?谢谢你,如果你不能,我很感激你的帮助=)另外,我只是链接到 ZIP 本身,但它不适用于在移动设备上下载所有 MP3(我假设,因为并非所有移动设备都下载和提取ZIP 文件自动)。 @user3267537 这是您阅读并了解这 4 个示例中哪一个适合您的需要的时候了。那里的文档很清楚。 感谢您的帮助。我确实要求一个起点,你肯定已经提供了。标记为答案 =) 我很高兴您在一些提示后决定最终自己解决问题。这是你应该探索事物、做一些实验并得出一些结论的好时机,这样你就不需要再对自己说白痴了;)干杯!! 我再次感谢你。我想现在我已经成功地学习了 JS 和 jQuery,我终于可以转向 PHP。一个可怕的想法,出于某种原因,我一直害怕 PHP,我知道为什么大声笑。但是如果我能写出流利的JS,我想我会没事的。是的,在一些提示后自己做是我学习的唯一方法。没有其他人为我做这件事=)......再次感谢你,也为你喝彩! =D

以上是关于使用 jQuery 或 JS 或 PHP 下载目录中的所有文件?的主要内容,如果未能解决你的问题,请参考以下文章

是否有相当于 PHP 的 $name = $_GET['name'] 的 JQuery 或 JS

ENOENT: node_modules\jquery\dist\jquery.min.js'没有这样的文件或目录

jquery上传插件Jquery.uploadify.js-转

使用 JS、JQuery 或 HTML5 调整图像大小

Jquery 或 PHP 按日期字段分组对象数组

用js或jquery实现点击按钮另存为图片的事件