douhan8009 2012-09-06 11:19
浏览 56
已采纳

PHP问题与sleep()和重定向

I have the following dumb code:

<?

echo "<html><br><br><br><div id='loading'><p><img src='loader.gif'> Please wait 6 seconds...</p></div></html>";
sleep(6);
header('Location: http://google.com/');

?>

Why doesn't the HTML piece of code show up in the browser before sleeping 6 seconds and then redirecting? The codes doesn't output the HTML code at all, waits 6 seconds then sends me to the location. What do I do wrong?

  • 写回答

4条回答 默认 最新

  • duanbo2048 2012-09-06 11:22
    关注

    You would need to do something like (this won't work):

    <?php
    
    echo "<html><br><br><br><div id='loading'><p><img src='loader.gif'> Please wait 6 seconds...</p></div></html>";
    @ob_flush(); //flush the output buffer
    flush(); //flush anything else
    sleep(6); //wait
    header('Location: http://google.com/'); //redirect
    
    ?>
    

    However: This won't work as expected, you cannot redirect the browser after sending content (PHP will throw and error and tell you this)

    Instead you should:

    <?php
    
    echo "<html><meta http-equiv=\"refresh\" content=\"6;URL='http://YOURURL.com/'\"><br><br><br><div id='loading'><p><img src='loader.gif'> Please wait 6 seconds...</p></div></html>";
    
    ?>
    

    Where the <meta http-equiv="refresh" content="6;URL='http://YOURURL.com/'"> tag is an HTML tag to tell the browser to change to the provided url after 6 seconds

    To avoid adding the meta tag, you could also do this:

    <?php
    header('Refresh: 6;URL=http://www.YOURURL.com/');
    echo "<html><br><br><br><div id='loading'><p><img src='loader.gif'> Please wait 6 seconds...</p></div></html>"
    ?>
    

    But to be safe you should add both the header and the meta tag!

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

报告相同问题?

悬赏问题

  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥15 使用LM2596制作降压电路,一个能运行,一个不能
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路
  • ¥15 phython读取excel表格报错 ^7个 SyntaxError: invalid syntax 语句报错