Ftp 下载大量文件

Ftp 下载大量文件,ftp,zip,gzipstream,ziparchive,Ftp,Zip,Gzipstream,Ziparchive,我正在为一个潜在客户研究解决方案。他们要求能够从在线目录下载大量MP3(1000+) 我曾研究/测试过使用ZipArchive构建一个包含所有MP3的zip,但遇到了明显的内存泄漏问题,排除了该解决方案 我现在正试图跳出思维定势 一个想法是为他们创建一个FTP队列或Torrent类型的下载链接。有没有什么东西能把这样的事情搞定 任何帮助或建议的方向将不胜感激!谢谢 编辑:以下是我们试图实现的总体流程/目标。 客户端为TV/Flim位置创建音乐。他们维护一份在线目录和一份本地副本,并将其发送给潜在

我正在为一个潜在客户研究解决方案。他们要求能够从在线目录下载大量MP3(1000+)

我曾研究/测试过使用ZipArchive构建一个包含所有MP3的zip,但遇到了明显的内存泄漏问题,排除了该解决方案

我现在正试图跳出思维定势

一个想法是为他们创建一个FTP队列或Torrent类型的下载链接。有没有什么东西能把这样的事情搞定

任何帮助或建议的方向将不胜感激!谢谢

编辑:以下是我们试图实现的总体流程/目标。

客户端为TV/Flim位置创建音乐。他们维护一份在线目录和一份本地副本,并将其发送给潜在买家。联机目录和脱机目录需要相互镜像。问题是,他们有多个办公室,必须使用从许多不同位置添加到在线目录的新文件更新本地副本

示例:东海岸用户使用100个新文件更新目录。西海岸用户需要使用从联机目录检索的新文件更新脱机目录

我们希望根据用户的下载历史记录创建每个用户更新目录所需的自定义zip文件,我们将在MySQL中维护这些文件。我们正在测试ZipArchive,但我们似乎无法构建超过175兆克的拉链。我们正在测试ZipStreaming,但有一些问题

我希望这能澄清我们面临的总体目标和问题。

GNU wget? 它可以下载递归。只需给wget一个服务器上所有文件的列表,例如。 其中包含file1.mp3、file2.mp3等链接(apache通常会自动生成这样一个索引文件,如果调用的目录中没有index.html/php)


坦率地说,我无法从你的帖子中找出真正的问题。如果你想最大限度地减少网络负载,那么你需要记住,MP3文件没有被很好地压缩,因为它们已经被压缩了(没有尽可能好,但是很好)。如果您正在寻找传输,则任何文件传输协议(FTP、SFTP、HTTP、WebDAV)都不适用

如果您需要灵活性和功能,我建议您使用SFTP:这是一种远程文件系统访问协议,因此除了“获取文件”操作外,它还有许多有用的操作,包括机器可读的目录列表(在FTP中不总是可用,在标准HTTP中也不可用),内置的ZLib压缩,内置的恢复文件传输的可能性和更多的奖金。HTTP也有ZLib压缩,但这个并不总是可用

更新:您的方法不关心客户机上真正可用的内容,您将根据您对客户机已有的(可能不正确的)知识准备ZIP文件


如果客户机和服务器都是您开发的应用程序,那么您应该使用RSync协议或类似的协议来在线更新数据(不使用任何ZIP文件)并下载客户端上缺少的文件。如果客户端和服务器之间无法直接通信,您可以让客户端将其状态发送到服务器,然后服务器将准备一个单独的包。至于ZIP功能,只有在使用批更新时才需要它(客户端和服务器之间没有实时通信)。我不知道您使用的是什么技术,但如果您唯一的问题是ZIP组件,那么您可以使用其他东西进行数据打包-不同的ZIP组件(对于.NET和VCL,我们有)或其他打包解决方案(例如,我们的产品没有大小限制)。遗憾的是,我不知道类似RSync的实现可以作为一个组件提供。

请查看此处,了解有关递归下载的进一步说明。不要忘记-c选项(--continue),因此,当下载被中断时,您可以使用相同的参数重复该命令,它将在中断的地方继续。我们正试图使这一点尽可能简单。我认为这一方向对他们当前的用户群来说不会那么容易。我更新了上面的总体目标/问题,也许这将有助于解释一切。而谢谢你的建议!尤金,我更新了我们面临的总体目标/问题。我希望这会有所帮助。