在codeigniter中卷曲回调

时间:2011-12-08 12:42:38

标签: codeigniter libcurl

我在codeigniter中有一个CURLOPT_PROGRESSFUNCTION的回调函数,如下所示:

class download_model extends CI_Model {
function downloadIt($link){

  $targetFile = FCPATH."upload/".basename($link);
  $handle = fopen($targetFile, 'w');

   $ch = curl_init( $link );
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
   curl_setopt( $ch, CURLOPT_NOPROGRESS, false );
   curl_setopt( $ch, CURLOPT_PROGRESSFUNCTION, 'progressCallback' );
   curl_setopt( $ch, CURLOPT_FILE, $handle );
   curl_setopt( $ch, CURLOPT_BUFFERSIZE, 2 );
   curl_exec( $ch );
   curl_close($ch);
}

function progressCallback( $params )
{
// params here
}

}

但是我使用上面的代码得到以下错误:

  

遇到PHP错误

     

严重性:警告

     消息:curl_exec()[function.curl-exec]:无法调用   CURLOPT_PROGRESSFUNCTION

如果我将该函数progressCallback()移动到root index.php它可以正常工作,那么在codeigniter中添加此函数的有效方法是什么,所以curl回调会识别它? 此致

1 个答案:

答案 0 :(得分:3)

如何在Codeigniter中为本机PHP函数添加回调函数。

curl_setopt( $ch, CURLOPT_PROGRESSFUNCTION, array('name_of_controller', 'name_of_function' );

当我使用像usort();

这样的函数时,我就是这样做的