PHP睡眠输出回声

时间:2017-07-30 19:35:59

标签: php

我在php安装程序上工作 我想要的是页面睡眠5秒,然后加载主页面。我希望在这段时间内加载动画。

我的第一个没有动画的工作代码

$redir = str_replace('install/','',$redir);
        sleep(5);
        header( 'Location: ' . $redir . 'home' ) ;
    }

这是我对动画的尝试。

$redir = str_replace('install/','',$redir);

        ob_start();
        echo '<style>.register{display:none;}<style>';
        ob_flush();
        echo '<h1 class="loading">loading...</h1>';
        ob_flush();
        sleep(5);
        ob_flush();
        header( 'Location: ' . $redir . 'home' ) ;
    }

我认为这是错误的,因为它不起作用。

2 个答案:

答案 0 :(得分:0)

使用PHP后,您无法从doc:

输出一些数据并重定向
  

请记住,在任何实际输出之前必须调用header()   通过普通HTML标记,文件中的空行或PHP

发送

您可以使用刷新标头或Javascript刷新来实现您想要的效果。

刷新标题示例(如果您之前没有输出):

slick('slickGoTo', index)

或使用Javascript重定向:

<?php
header('Refresh: 5;URL='. $redir);
echo '<style>.register{display:none;}<style><h1 class="loading">loading...</h1>';

答案 1 :(得分:0)

如果你想加载一些页面;用户重定向5秒后,php不是一个很好的选择! 在渲染HTML之前在php中睡5秒意味着用户等待5秒加载页面! 你应该使用javascript(或jquery),将此代码添加到页面的末尾:

<script>
setTimeout(function() {
    window.location.href='new_url';
}, 5000);
</script>