如何每秒将文本打印到网页?

时间:2011-08-24 00:08:49

标签: php

我想让网站每秒都写一条消息。

<?php echo '111';?>

怎么做呢?

5 个答案:

答案 0 :(得分:5)

如果您希望用户在浏览器中每秒都看到一条消息,这在PHP中是不可行的。 PHP是一种服务器端语言,这意味着当页面到达浏览器时,PHP的工作就完成了。

您需要使用Javascript等客户端语言来完成此操作,使用类似setTimeout的内容:http://www.w3schools.com/jsref/met_win_settimeout.asp


OP澄清后编辑:

如果您想要的是每X秒执行一次脚本,那么您应该查看cron。您可以使用cron安排脚本按照您的意愿运行。

以下是一个如何运作的例子:

  1. 您编写了一个发送电子邮件的脚本
  2. 您可以将crontab设置为每小时执行一次脚本
  3. 每小时,cron都会执行您的脚本,并向您发送电子邮件

答案 1 :(得分:3)

你无法用PHP真正做到这一点。相反,这将通过Javascript完成。如果要显示的消息必须由服务器提供,则会使事情变得复杂,需要AJAX事务。但是,如果消息是预定义的或可以动态计算的,那么它非常简单:

<div id='someId'>Message will go here</div>

<script type='text/javascript'>
  var textSpace = document.getElementById('someId').innerHTML;
  var refreshTimeout = setInterval(function() {
     // every second, add another ' message' into the element
     textSpace = textSpace + ' message';
  }, 1000);
</script>

答案 2 :(得分:2)

你可以把它放在如下的循环中

    while(1)
    {
    echo 111;
    sleep(1);
    }

答案 3 :(得分:0)

PHP不适合您想要做的事情。相反,使用Javascript和函数setInterval(functionName, 1000),其中functionName是一个Javascript函数,用于编写所需的消息。

答案 4 :(得分:0)

另一种方法是自动刷新页面:

<meta http-equiv="refresh" content="1">
<?php echo '111';?>