我在php中使用curl multi exec。我从db读取了一些url并传递给curl。这些网址还包含与之关联的ID。下载完成后,了解与其关联的ID非常重要。你能否告诉我,无论如何传递一个变量,curl会在响应中返回它。
提前致谢 wantro
答案 0 :(得分: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];
答案 1 :(得分:2)
将私人数据存储在cURL easy handle中,例如:
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 get info about a particular handle。