0

私はphpでcurlmultiexecを使用しています。dbからいくつかのURLを読み取り、curlに渡します。これらのURLにはIDも関連付けられています。ダウンロードが完了したら、それに関連付けられているIDを知ることが重要です。とにかく変数を渡す方法があり、curlが応答でそれを返すことを教えてください。

よろしくお願いしますwantro

4

2 に答える 2

3

カールハンドルごとに独自のデータ関連付けを維持することができます。

$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マニュアルに記載されていません。PHP5.2.4ですでに導入されています。これにより、cURLハンドル内に選択した文字列を保存および取得できます。URLIDに使用します。

重複する質問phpを参照してください-CURLMultiは特定のハンドルに関する情報を取得します。

于 2014-10-11T15:42:29.167 に答える