2

我下载了一个 PHP 脚本来计算“访问者”和“唯一访问者”的总数

http://code.google.com/p/simphp/downloads/detail?name=simphp.php (这里有它的文档)

我理解了整个脚本,除了在这里使用 die() 函数:

if (parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY)=="code") {
//Show include() info.
die("<? include(\"" . __FILE__ . "\"); ?>");

我从官方网站上阅读了 php die 手册,但我发现的只是“打印一条消息并退出当前脚本”。(此代码仅在我将其上传到我的 godaddy 或 000webhost 帐户时才有效,并且不适用于 IIS 上的 localhost)。我知道这个问题可能已经回答了,但我不知道正确的短语。

die()语句的作用是什么,为什么会出现?

4

3 回答 3

2

我会说它是内置的帮助。如果您想知道必须在您的网站页面中粘贴哪些确切的 PHP 代码,您可以加载附加?code到 URL 的脚本并获得代码。

看起来文档有错字:

将“path/to/simphp.php”替换为网页中 simphp.php 的相对或绝对路径。如果您不知道 simphp.php 文件的绝对路径,请直接在浏览器中访问该文件,并将其放在 "?display=true"末尾(减去引号)。例如:

http://example.com/simphp.php?display=true

实际参数被调用code而不是display并且不能既没有值也没有其他参数。

于 2013-10-03T14:52:54.177 回答
2

此代码仅显示include语句(仅显示,就像您可以从上面的评论中阅读一样)。

也可以写成

echo "<? include(\"" . __FILE__ . "\"); ?>";
die;

我认为以这种形式更容易理解。

于 2013-10-03T14:53:44.377 回答
0

它用于停止脚本的执行。如果代码中有一些错误并且它不能/不应该进一步执行,则通常使用此技术。在这种情况下,这意味着如果

parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY)

等于“代码”脚本无法进一步执行,应立即停止。

于 2013-10-03T14:57:41.100 回答