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