我的PHP随机页面生成器在点击100000次后停止正常工作

我的PHP随机页面生成器在点击100000次后停止正常工作,php,random,generator,Php,Random,Generator,我的网站完全依赖于随机页面生成器,该生成器从文本文件列表加载页面。代码是由“lserni”在论坛上编写的。在过去的几天里,这个脚本一直工作得很好,并且在3天内愉快地处理了超过100000次的页面浏览量 然而,我今天注意到它似乎已经停止正常工作。如果您是该页面的全新访问者,或者您已经清除了internet缓存/cookies等-当您首次加载该页面时,它不会随机生成页面。。它只显示一个空白页。如果随后刷新页面,则脚本工作正常。我只是无法控制它,但现在它导致了交通量的大幅下降!希望您能帮助:

我的网站完全依赖于随机页面生成器,该生成器从文本文件列表加载页面。代码是由“lserni”在论坛上编写的。在过去的几天里,这个脚本一直工作得很好,并且在3天内愉快地处理了超过100000次的页面浏览量

然而,我今天注意到它似乎已经停止正常工作。如果您是该页面的全新访问者,或者您已经清除了internet缓存/cookies等-当您首次加载该页面时,它不会随机生成页面。。它只显示一个空白页。如果随后刷新页面,则脚本工作正常。我只是无法控制它,但现在它导致了交通量的大幅下降!希望您能帮助:

    <?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");
    ?>


我建议,在
标题调用之后,添加一些解释用户重定向到何处的HTML。一切正常,没有人会看到它,但它可以帮助诊断用户为什么会得到一个空页面。

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

{
    $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

因此,如果您在文本文件的末尾引入了换行符,这可能是您的问题。

您可以提供一个链接,指向您运行此命令的位置吗?linklist.txt中的绝对第一行是什么?那一行总是使用的第一个URL。埃米尔:第一行的链接工作得很好,所以这不是问题。布拉德:我很想提供一个链接,但内容是NSFW,我不想被从这个网站上删除!如果允许我发布,我会的。我真的不明白出了什么问题,但这非常令人沮丧。我最近在该网站上所做的所有改变就是添加了Twitter和Facebook社交按钮,但这些按钮都在linklist.txt中的页面上。index.php随机页面生成器(我粘贴的代码)没有任何更改。你真是个天才。非常感谢你。在添加最后一个页面之后,我必须点击文本文件的输入,将空白行放在那里!谢谢你,提格朗,没问题。您可能需要使用
文件('linklist.txt',文件_SKIP_EMPTY_line |文件_IGNORE_NEW_line)以避免将来发生这种情况。