【问题标题】:My PHP Random page generator has stopped working properly after 100,000 hits我的 PHP 随机页面生成器在 100,000 次点击后停止正常工作
【发布时间】:2012-09-10 00:41:26
【问题描述】:

我的网站完全依赖于从文本文件列表加载页面的随机页面生成器。代码由论坛上的“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");
    ?>

【问题讨论】:

  • 你能提供一个链接到你在哪里运行吗?
  • linklist.txt 中的绝对第一行是什么?该行始终是使用的第一个 URL。
  • Emil:第一行的链接运行良好,所以这不是问题。布拉德:我很想提供一个链接,但内容是 NSFW,我不想从这个网站上删除!如果我被允许发布,那么我会的。我真的不明白出了什么问题,但这非常令人沮丧。我最近在该网站上所做的所有更改是添加 Twitter 和 Facebook 社交按钮,但这些按钮位于 linklist.txt 中的页面上。 index.php 随机页面生成器(我粘贴的代码)没有任何更改。

标签: php random generator


【解决方案1】:

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

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

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

【讨论】:

  • 你是个天才。对此感激不尽。添加最后一页后,我必须在文本文件上按回车键,将空行放在那里!谢谢你。
  • 没问题。您可能希望使用file('linklist.txt', FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES); 来避免将来发生这种情况。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    • 2014-01-09
    • 1970-01-01
    相关资源
    最近更新 更多