我们在PHP的cURL中使用CURLOPT_WRITEFUNCTION怎么办?

时间:2010-02-19 05:49:54

标签: php curl

你能在例子中描述一下吗?

3 个答案:

答案 0 :(得分:9)

我知道这是一个老问题,但也许我的回答对你或其他人有所帮助。 WRITEFUNCTION用于处理文本,因为它在流入或基于某些条件中止下载。这是一个简单地将所有文本都放入大写字母的示例:

function get_html($url){
    $ch = curl_init();
    $obj = $this;//create an object variable to access class functions and variables
    $this->result = '';
    $callback = function ($ch, $str) use ($obj) {
        $obj->result .= strtoupper($str);
        return strlen($str);//return the exact length
    };
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_WRITEFUNCTION, $callback);
    curl_exec($ch);
    curl_close($ch);
    return $this->result;
}

要查看我如何使用它,请查看以下链接:Parallel cURL Request with WRITEFUNCTION Callback

答案 1 :(得分:3)

答案 2 :(得分:1)

它与curl_setopt函数一起使用。

CURLOPT_WRITEFUNCTION是回调函数的名称,其中回调函数有两个参数。第一个是cURL资源,第二个是包含要写入数据的字符串。必须使用此回调函数写入数据。必须返回写入的确切字节数,否则将失败。