Php 如何使用cURL从数组中保存html文件?

Php 如何使用cURL从数组中保存html文件?,php,html,curl,save,Php,Html,Curl,Save,我正在尝试使用cURL保存一些文件。我已经成功地为一个url实现了这一点,但是当我创建一个数组来保存多个url时,它就不起作用了。即使在打开错误报告之后,我也没有收到任何错误。这些文件根本没有被保存。下面给出了我的代码。非常感谢您的帮助 <?php error_reporting(E_ALL); $var = "http://www.example.com/trailer/"; $urls = array("1423/10_Things_I_Hate_About_You/","1470/

我正在尝试使用cURL保存一些文件。我已经成功地为一个url实现了这一点,但是当我创建一个数组来保存多个url时,它就不起作用了。即使在打开错误报告之后,我也没有收到任何错误。这些文件根本没有被保存。下面给出了我的代码。非常感谢您的帮助

<?php
error_reporting(E_ALL);
$var = "http://www.example.com/trailer/";

$urls = array("1423/10_Things_I_Hate_About_You/","1470/10.5__Apocalypse/");

$ch = curl_init();

foreach ($urls as $i => $url) {

$conn[$i]=curl_init($url);
curl_setopt($conn[$i], CURLOPT_URL, $url .$var);
curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($conn[$i], CURLOPT_HEADER, 0);

// grab URL and pass it to the browser
$out = curl_exec($conn[$i]);

// close cURL resource, and free up system resources
curl_close($conn[$i]);

$fp = fopen($url . "index.html", 'w');
fwrite($fp, $out);
fclose($fp);
}

文件获取内容和文件放置内容是如何为您工作的?您可以将以下内容合并为一行

<?php
    $homepage = file_get_contents( 'http://www.example.com/' );
    file_put_contents( '/my/filename.html', $homepage );
?>

是操作行。

您的连接是向后的,应该是
$var.$url
是!!你抓住了一个问题,请回答!!!我从来没有想过,所以答案是:嗨,你能告诉我,当每件事都完成后,我怎么能得到结果吗?因为数组有超过10000个url,所以我想知道到目前为止完成了哪一个。原因很多次是由于中断操作,它停止下载,因此如果我能知道循环中完成了多少,我会记录你想要跟踪的内容(或两者)。您可以从“待办事项列表”中读取url,其中每行都有一个url。然后,当每一行成功完成时,它会从“待办事项列表”中删除该行,并将其添加到“已完成”列表(这是一个单独的文本文件)。您可以添加一个错误处理程序函数,将失败的行也记录到“错误日志”(这也是一个每行只有一个url的文本文件)。然后,它可以记录该错误并继续。最后,您的“待办事项列表”将为空,但“已完成”和“错误”列表将有多个条目。看见
$http_response =  $client->sendAndGetResponseMessage( true );