当cURL发出请求时,CodeIgniter会重定向到另一个函数

时间:2013-06-20 16:45:45

标签: codeigniter redirect

我在CodeIgniter控制器中有一个功能“功能A”,它包含一个重定向到另一个功能,“功能B”在收集数据时发送一封电子邮件。我的问题是,当我在浏览器中输入函数A的url时,函数按预期工作,并且重定向到函数B也可以...但函数A由cURL脚本调用,当发生这种情况时,执行函数A但是重定向功能B不起作用。在这种情况下是否可以使用重定向功能(当通过cURL发出请求时)?

2 个答案:

答案 0 :(得分:1)

你能展示你的CURL代码吗?我认为你使用的东西是:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close( $ch ); 

检查此字符串(它应设置为true):

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

你可以使用下一个东西(在stormdrain的例子中):

function first_function(){
    ob_start();

    //do stuff
    $this->second_function();
    ob_end_flush();
}


function second_function(){
    //send email
}

答案 1 :(得分:0)

如果没有看到任何代码,很难说。但是,如果这些函数位于同一个控制器中,则可以在第一个函数完成时调用另一个函数

function first_function(){
    //do stuff
    $this->second_function();
}


function second_function(){
    //send email
}