1

.txt ファイルの値が変更された場合にのみ更新する PHP スクリプトのコーディングに問題があります。何が起こるかというと、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;
?>
4

2 に答える 2

0

PHP は実行時にのみ実行されるため、今説明したことを実行できる可能性はありません。

あなたの最善の策は、チェックを行う非常に小さな PHP スクリプトを作成し、フロントエンドに AJAX スクリプトを毎秒チェックさせ、PHP が更新されたことを返した場合に画像を更新することです。

于 2013-07-24T16:56:40.813 に答える
0

サーバー側のスクリプトを使用して、クライアント側で何かを実行しようとしています。

クライアント ページに小さな Javascript スニペットを含めて、チェックを実行できるスクリプトにサーバーにポスト バックします。次に、変更が発生したことをスクリプトが示している場合は、Javascript を使用してページを更新します。

そうすれば、ページは必要なときにのみ更新され、クライアント コードとサーバー コードを簡単に分離できます。

于 2013-07-24T16:58:53.513 に答える