我在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回调会识别它? 此致
答案 0 :(得分:3)
如何在Codeigniter中为本机PHP函数添加回调函数。
curl_setopt( $ch, CURLOPT_PROGRESSFUNCTION, array('name_of_controller', 'name_of_function' );
当我使用像usort();
这样的函数时,我就是这样做的