duanbixia7738 2014-10-21 22:32
浏览 100
已采纳

调用函数并阻止被调用函数在PHP中执行重定向

I'm calling a function which performs a redirect at the end. Can i prevent the function i called from performing a redirect somehow?

function a() {
    // here i would want to prevent the redirect. but i must call b always
    b();
    return 'a';
}

//function that i can't modify. It always redirects.
function b() {
    header("Location: http://google.com", true, 200 );
}

$return = a();

echo $return;
// expected output: 'a' not a redirect to google

If you ask why, i would not want to modify function b() as it's a library function.

  • 写回答

2条回答 默认 最新

  • dongpan1871 2014-10-21 22:39
    关注

    After you've called the library function, try using

    header_remove("Location")
    

    http://php.net/manual/en/function.header-remove.php

    Hopefully that header wouldn't have sent yet...

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?