0

我正在尝试使用 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);
}
4

1 回答 1

1

file_get_contents 和 file_put_contents 如何为您工作?您可以将以下内容组合成一行。

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

或者,我写了一个 curl 包装类。这是一些示例用法:

https://github.com/homer6/altumo/blob/master/source/php/Http/OutgoingHttpRequest.md

$http_response =  $client->sendAndGetResponseMessage( true );

是操作线。

于 2013-09-08T18:39:26.907 回答