ホームページ  >  に質問  >  本文

Curl_multi_init シングルスレッドからマルチスレッドへの問題

function post($url, $data = '', $head = 'application/x-www-form-urlencoded')
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-type:{$head};charset=utf-8;"));
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
    curl_setopt($ch, CURLOPT_HEADER, 0);
    if (!empty($data)) {
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    }
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;
}

$url = 'http://localhost/test.php';
$res = [];
//模拟100条数据
for ($i=0; $i < 100; $i++) { 
    $res[$key] = post($url, 'key='.$i);
}
var_dump($res);

curl_multi_init をマルチスレッドに変更する方法を教えてください。私のアイデアは、$data 配列を array_chunk($data, 15, true); に分割してから CURL を実行することですが、初心者なのでオンラインの例が理解できません。助けてください。

Bob pangBob pang866日前978

全員に返信(0)返信します

応答なし
  • キャンセル返事