我将尝试使其易于理解并希望它有意义。
我有一个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),因此应显示“您拥有最新版本!”在这种情况下,它说“有可用的更新!”无论我输入什么号码。
define('VERSION', '2.0.1'); //in php above
2.0.5 //在远程服务器上的.txt文件中
说同样的事情,因为在远程服务器上显示新的更新(例如2.0.5)。谁能告诉我我做错了什么?
答案 0 :(得分:1)
您忘记在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>";
}?>
答案 1 :(得分:0)
这可能是一个拼写错误,但是你的常量定义会出错。
define('REMOTE_VERSION', http://mysite.com/_client/client_name/update/version_check.txt');
// ^ Missing quote