一次下载一个文件,而不是一次下载所有文件

时间:2010-01-01 19:17:19

标签: php curl download

我要做的是下载一组图像,其中大约有200个。现在,我可以为firefox安装一些插件或脚本,只需点击几下就可以下载所有内容,但在我想到这一点之前,我正在思考如何通过几行代码来实现这一点。

我可以使用的语言是C#,Java和PHP。我更喜欢在PHP中这样做,因为我之前从未使用curl。

图像排列整齐,我已经检查过了。文件名是一个在整个系列中保持不变的字符串,并在末尾附加.1(第1点),。2,。3等等......

所以我只想使用foreach循环,但我不确定它将如何执行。甚至以前从未使用curl,有些东西告诉我,如果我不告诉curl等待每个图像完成,它将只是冲过foreach循环,因此,尝试立即下载它们。

使用curl时这是如何工作的?我是否需要设置一些内容,或者我的担心是否不公正?我对文档的研究证明是错误的吗?

虽然我是这样的:我还应该知道其他任何事情,第一次使用curl?

4 个答案:

答案 0 :(得分:1)

下载完成后,

curl退出。因此,如果你使用PHP的system调用调用curl(等待你调用的子进程完成),图像将一个接一个地下载。

答案 1 :(得分:1)

我会用PHP和卷曲来吸引你。这是一个很好的课程,你可以使用: http://www.bitrepository.com/download-image.html

默认情况下,该类设置为等待60秒以允许图像正确下载。

您需要做的就是为图像名称添加一个循环。

答案 2 :(得分:1)

在C#中,您可以使用WebClient类进行此类工作,特别是DownloadFile method,这是同步的;顺便说一句,WebClient也提供了异步方法 但是,在Linux上我会使用bash和wget。

答案 3 :(得分:0)

别担心,libcurl是同步的。即使您异步使用libcurl(或任何其他库),您也可以在上一个图像的回调结束时下载下一个图像。

在PHP中你可以循环调用我认为的file_get_contents。 C#和Java也有非卷曲网络接口。