PHP自动刷新

时间:2013-07-24 16:43:41

标签: php html webpage

我在编写PHP脚本时只是在.txt文件中的值更改时才更新。会发生什么是VB表单可以更改.txt文件中的值,PHP脚本会根据.txt文件中的值显示图像。目前,如果我在浏览器上手动点击刷新,脚本将显示更新的文件,但我想消除它。我已经尝试使用元刷新标签,但因为我渲染图像时,每隔2秒左右刷新页面就会非常“混乱”,并使查看页面变得难以忍受。我试图做的是在$ string和$ string2变量之间创建一个循环,这样当它们不相等时,它会将页面重定向到重定向回该页面并进行“后门”刷新的页面。 $ string是.txt文件中的直接值,它在循环中定义,而$ string2在循环外定义。一旦将不同的值输入到.txt文件,我会循环查看它们之间的区别。

提前谢谢大家。

<?php
{
$file=fopen("counter.txt","r");
$string=fgetc($file);
fclose($file); 
}

$string2 = $string;
    if ($string == '1') {
        $files = glob('tg.jpg');
        foreach($files as $file) {
        echo '<img src="' . $file . '" />';
        }}
    elseif ($string == '2') {
        $files = glob('tr.jpg');
        foreach($files as $file) {
        echo '<img src="' . $file . '" />';
        }}
    elseif ($string == '3') {
        $files = glob('wua.jpg');
        foreach($files as $file) {
        echo '<img src="' . $file . '" />';
        }}
    elseif ($string == '4') {
        $files = glob('wur.jpg');
        foreach($files as $file) {
        echo '<img src="' . $file . '" />';
        }}  
    elseif ($string == '5') {
        $files = glob('stop.jpg');
        foreach($files as $file) {
        echo '<img src="' . $file . '" />';
        }}
    elseif ($string == '6') {
        $files = glob('base.jpg');
        foreach($files as $file) {
        echo '<img src="' . $file . '" />';
        }}

while ($string == $string2) {
$file=fopen("counter.txt","r");
$string=fgetc($file);
echo $string;
fclose($file); 
}

header('Location: redirect.php');
exit;
?>

2 个答案:

答案 0 :(得分:0)

PHP仅在运行时运行,因此您无法执行刚才描述的操作。

您最好的办法是创建一个非常小的PHP脚本来执行检查,并且每秒都在前端检查上有一个AJAX脚本,如果PHP返回它已经更新,则更新图像。

答案 1 :(得分:0)

您正在尝试使用服务器端脚本在客户端执行某些操作。

让您的客户端页面包含一个小的Javascript代码段,该代码段会将回发到您的服务器的脚本执行检查。然后,如果您的脚本指示发生了更改,请使用Javascript刷新页面。

这样,页面只会在需要时刷新,您可以轻松地分离客户端和服务器代码。