1

これを理解しやすくし、それが理にかなっていることを願っています。

PHP スクリプト/テンプレートがあり、何かを更新したとき (テンプレートの変更やバグ修正など) をエンド ユーザーに知らせて、リンクをクリックして更新されたバージョンをリモート ホストからダウンロードできるようにしたいと考えています。PHPに投稿されたスクリプトを試してみました - How to check a script versionで、このスクリプトが動作するようになりました:

<?php define('REMOTE_VERSION', http://mysite.com/_client/client_name/update/version_check.txt');
    define('VERSION', '2.0.1');
    $script = file_get_contents(REMOTE_VERSION);
    $version = VERSION;
    if($version == $script) {
        echo "<div class=success> 
    <p>You have the latest version!</p> 
    </div>";
    } else {
        echo "<div class=error> 
    <p>There is a update available!</p> 
    </div>";
    }?>

そうですね...リモートサーバーの.txtファイルには2.0.1しかありません。それらは同じバージョン (両方とも 2.0.1) であるため、「You have the latest version!」と表示されるはずです。この場合、「利用可能な更新があります!」と表示されます。どんな数字を入れても。

define('VERSION', '2.0.1'); //in php above 

2.0.5 //リモート サーバーの .txt ファイル内

リモート サーバーで新しい更新プログラム (例: 2.0.5) が表示されているため、同じことを言う必要があります。誰が私が間違っているのか教えてもらえますか?

4

2 に答える 2

1

行の 2 番目の部分に引用符を付けるのを忘れましたdefine('REMOTE_VERSION', ...);VERSION引用に追加しましたが、定義された変数を新しい変数に再割り当てすることで、不要なコード行も追加しました$variable。このスクリプトは機能するはずです。以前、これに似たものを使用したことがあります。

<?php 
define('VERSION', '2.0.1');
$script = file_get_contents('http://mysite.com/_client/client_name/update/version_check.txt');
define('REMOTE_VERSION', $script);
if(VERSION == REMOTE_VERSION) {
    echo "<div class='success'> 
<p>You have the latest version!</p> 
</div>";
} else {
    echo "<div class='error'> 
<p>There is a update available!</p> 
</div>";
}?>
于 2013-08-26T04:21:05.390 に答える