2010-02-19 26 views

回答

1

它用於curl_setopt功能。

CURLOPT_WRITEFUNCTION是回調函數的名稱,其中回調函數採用兩個參數。第一個是cURL資源,第二個是要寫入數據的字符串。必須使用此回調函數寫入數據。必須返回寫入的確切字節數,否則將失敗。

+0

這是什麼意思:「必須返回確切的寫入字節數或這將失敗」? – MrY

+0

那是怎麼回事?什麼是寫入的確切字節數? – MrY

+0

看到這個答案的例子:http://download1.parallels.com/Plesk/Expand/2.1.0-Release1/doc/expand-integrate-guide/17009.htm – Sarfraz

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

相關問題