如何显示每15分钟的随机内容 - php
好吧,我有一个.txt文件与一大堆的网址。我得到了一个脚本,可以随机获取1行。然后我将其包含在另一个页面中。如何显示每15分钟的随机内容 - php
但是我希望网址每15分钟更换一次。所以我猜我会需要使用一个cron,但是我不确定我应该如何把它全部到位。
我发现如果你包含一个文件,它仍然会给出一个随机输出,所以我猜如果我运行cron和include文件它会变得混乱。
所以我在想的是我有一个脚本,从我的初始文本文件中随机选择一个url,然后将其保存到另一个.txt文件,并将该文件包含在最终页面中。
我刚刚发现这是那种在正确的方向: Include php code within echo from a random text
我不写PHP(可以完全理解它)最好使所有的帮助表示赞赏!
所以我在想什么是我有一个 脚本,随机从我最初的文本文件,选择一个url 那么 将其保存到另一个文本文件里,我 包括最后一页上该文件。
这几乎是我会做的。
但是,要重新生成该文件,您不一定需要cron。
你可以使用以下的想法:
- 如果文件已经小于14分钟前修改(你可以找到使用
filemtime()
并比较其与time()
)- 那么,在使用什么文件
- 其他
- 重新生成该文件,从大文件中随机选择一个URL
- 并使用新生成的文件
这样,不需要一个cron:到达该文件的先前修改后超过15分钟会重新生成它的第一个用户,用新的网址。
好了,所以我八九不离十解决了自己的问题:
<?php
// load the file that contain thecode
$adfile = "urls.txt";
$ads = array();
// one line per code
$fh = fopen($adfile, "r");
while(!feof($fh)) {
$line = fgets($fh, 10240);
$line = trim($line);
if($line != "") {
$ads[] = $line;
}
}
// randomly pick an code
$num = count($ads);
$idx = rand(0, $num-1);
$f = fopen("output.txt", "w");
fwrite($f, $ads[$idx]);
fclose($f);
?>
不过反正是有,我可以删除选定的线一旦被摘下?
你想删除哪一行?从原始的urls.txt文件或output.txt文件? – sikas 2011-03-30 05:40:22
从原始文件,网址。txt :) – 2011-03-30 05:49:26
(1)当不再需要时,你应该用'fclose()'关闭文件句柄。 (2)您可以使用'file()'将内容读入数组,'$ ads = file($ adfile,FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES)'。 (3)你可以使用'array_rand()'从数组中选择随机项'$ idx = array_rand($ ads)'。 – binaryLV 2011-03-30 06:16:34
哇超棒的主意!我现在要尝试实施它。只要知道如何删除该行,并且我是金色的!欢呼的人 – 2011-03-30 05:37:25