2010-02-19 20 views

Respuesta

1

Se utiliza con la función curl_setopt.

CURLOPT_WRITEFUNCTION es el nombre de una función de devolución de llamada cuando la función de devolución de llamada tiene dos parámetros. El primero es el recurso cURL, y el segundo es una cadena con los datos que se escribirán. Los datos deben escribirse utilizando esta función de devolución de llamada. Debe devolver el número exacto de bytes escritos o esto fallará.

+0

Lo que quiere decir esto: "Debe devolver el número exacto de bytes escritos o se producirá un error"? – MrY

+0

¿Cómo es eso? ¿Cuál es el número exacto de bytes escritos? – MrY

+0

ver esto como ejemplo de esa respuesta: http://download1.parallels.com/Plesk/Expand/2.1.0-Release1/doc/expand-integrate-guide/17009.htm – Sarfraz

9

Sé que esto es una vieja pregunta, pero tal vez mi respuesta va a ser de alguna ayuda para usted o alguien más. WRITEFUNCTION es útil para procesar texto a medida que se reproduce o para cancelar la descarga en función de alguna condición. Aquí hay un ejemplo que simplemente pone todo el texto en mayúsculas:

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; 
} 

Para ver la forma en que lo usé, echa un vistazo a este enlace: Parallel cURL Request with WRITEFUNCTION Callback.