0

我在 php 中使用 curl multi exec。我从 db 中读取了一些 url 并传递给 curl。这些 url 也有与之关联的 id。下载完成后,了解与其关联的 id 很重要。你能告诉我是否有传递一个变量,curl 会在响应中返回它。

在此先感谢

4

2 回答 2

3

您可以为每个 curl 句柄维护自己的数据关联。

$associatedData = array();

$ch = curl_init();
$id = (int) $ch; // will yield a unique number because resources have a globally unique numeric id
$associatedData[$id] = array('data' => $foo);

// now add it via curl_multi_add_handle() etc...

然后,稍后在处理句柄时,您可以查找关联的数据

$id = (int) $ch; 
$data = $associatedData[$id];
于 2012-08-13T22:04:33.993 回答
2

将私有数据存储在 cURL 简单句柄中,例如:

curl_setopt($ch, CURLOPT_PRIVATE, $url->getId());
// then later
$id = curl_getinfo($ch, CURLINFO_PRIVATE);

PHP 手册中没有(还)记录这个“私有数据”特性。它已在 PHP 5.2.4 中引入。它允许您在 cURL 句柄中存储和检索您选择的字符串。将它用于 URL ID。

请参阅重复问题php-CURL Multi 获取有关特定句柄的信息

于 2014-10-11T15:42:29.167 回答