0

我的网站完全依赖于从文本文件列表加载页面的随机页面生成器。该代码由论坛上的“lserni”编写。该脚本在过去几天一直运行良好,并且在 3 天内愉快地处理了超过 100,000 次页面浏览!

但是,我今天注意到它似乎已停止正常工作。如果您是该页面的全新访问者,或者您已经清除了 Internet 缓存/cookie 等 - 当您第一次加载该页面时,它不会随机生成一个页面.. 它只是显示一个空白页面。如果您然后刷新页面,则脚本可以完美运行。我只是无法理解它,但它现在导致流量大幅下降!希望您能提供帮助:

    <?php

    session_start();
    if (!isset($_SESSION['urlist']))       // Do we know the user?
        $_SESSION['urlist'] = array();     // No, start with empty list
    if (empty($_SESSION['urlist']))        // Is the list empty?
    {
        $_SESSION['urlist'] = file("linklist.txt");   // Fill it.
        $safe = array_pop($_SESSION['urlist']);
        shuffle($_SESSION['urlist']);           // Shuffle the list
        array_push($_SESSION['urlist'], $safe);
    }
    $url = trim(array_pop($_SESSION['urlist']));
    header("Location: $url");
    ?>
4

2 回答 2

2

如果没有会话数据,它实际上是文件中最先使用的最后一项。

{
    $safe = array_pop($_SESSION['urlist']); // gets item at the END of the array
    shuffle($_SESSION['urlist']);
    array_push($_SESSION['urlist'], $safe); // puts item at the END of the array
}
$url = trim(array_pop($_SESSION['urlist']));// gets item at the END of the array

因此,如果您最后在文本文件中引入了换行符,则可能是您的问题。

于 2012-09-10T01:17:49.893 回答
0

我建议,在header通话之后,添加一些 HTML 来解释用户被重定向到的位置。一切顺利,没有人会看到它,但它可以帮助诊断为什么用户会得到一个空白页面。

于 2012-09-10T00:47:21.687 回答