私はphpでcurlmultiexecを使用しています。dbからいくつかのURLを読み取り、curlに渡します。これらのURLにはIDも関連付けられています。ダウンロードが完了したら、それに関連付けられているIDを知ることが重要です。とにかく変数を渡す方法があり、curlが応答でそれを返すことを教えてください。
よろしくお願いしますwantro
カールハンドルごとに独自のデータ関連付けを維持することができます。
$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];
プライベートデータをcURLイージーハンドル内に保存します。例:
curl_setopt($ch, CURLOPT_PRIVATE, $url->getId());
// then later
$id = curl_getinfo($ch, CURLINFO_PRIVATE);
この「プライベートデータ」機能は、(まだ)PHPマニュアルに記載されていません。PHP5.2.4ですでに導入されています。これにより、cURLハンドル内に選択した文字列を保存および取得できます。URLIDに使用します。