我想让一个网站每秒写一条消息。
<?php echo '111';?>
怎么能这样呢?
如果您希望用户在浏览器中每秒看到一条消息,这在PHP中是不可行的。PHP是一种服务器端语言,这意味着当页面到达浏览器时,PHP的工作就完成了。
您将需要一种客户端语言(如Javascript)来完成此操作,使用setTimeout: http://www.w3schools.com/jsref/met_win_settimeout.asp
在OP的澄清后编辑:
如果您想要的是每X秒执行一次脚本,那么您应该查看cron。您可以使用cron来安排脚本的运行频率。
一个例子是:
- 你写了一个脚本,发送一次电子邮件
- 将crontab设置为每小时执行一次脚本
- 每小时,cron会执行你的脚本,给你发一封电子邮件
这在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>
你可以像下面这样把它放到一个循环中
while(1)
{
echo 111;
sleep(1);
}
PHP并不适合您想要做的事情。相反,使用Javascript和函数setInterval(functionName, 1000)
,其中functionName
是一个Javascript函数,用于编写您想要的消息。
另一种方法是自动刷新页面:
<meta http-equiv="refresh" content="1">
<?php echo '111';?>