【发布时间】:2011-08-26 10:17:05
【问题描述】:
情况
我找到并调整了一个相对较短的 php 代码,其中包含一个随机 html 文件,从我的“randomizer”文件夹到我的页面中。
这里是代码
<?php
error_reporting(0);
function random_file($string){
return ((file_exists($string))&&(preg_match('#(\.html)$#i',$string))) ? true : false ;
}
define('OUTPUT_TYPE','text');
define('RANDOM_FILES_FOLDER','randomizer/');
$my_array = Array();
$my_dir = RANDOM_FILES_FOLDER ;
if ($dir = @opendir("$my_dir")) {
while (($file = readdir($dir)) !== false) {
if ($file != "." && $file != ".." && !is_dir($my_dir.$file))
{
switch(OUTPUT_TYPE):
case'text':
if(random_file($my_dir.$file)){
$my_array[] = $file;
}
break;
default:
break;
endswitch;
}
}
closedir($dir);
}
if(count($my_array)>0){
$random_number = rand(0, count($my_array)-1);
$random_file = $my_array[$random_number];
switch(OUTPUT_TYPE):
case'text':
include($my_dir.$random_file);
break;
default:
break;
endswitch;
}
?>
问题
它完成了它应该做的事情(也许有人可以为我修剪/优化该代码)但我只有几个文件要随机化,我不希望在刷新或打开相同的文件时出现两次一天后的页面。
我认为 cookie 可能是答案,但不确定如何处理它们。
任何人都可以编写一段代码添加到我的代码中,或者提供一个具有所有这些属性的代码吗?请记住,它必须随机包含文件夹中的文件,我不希望这些文件中的代码在我的实际页面代码中用于 CMS 目的
请记住,我是一名 PHP 和 Javascript 初学者,具有非常基础的知识,所以请为我低调一点。
谢谢!
【问题讨论】:
-
所以您基本上希望我们为您开发功能?我的费率是 40 欧元/小时... ;)
-
你只是想让下一个访问显示不同吗?
-
@Martin 我自己尝试过但失败了:(。我很乐意为您开发 HTML5 或 CCS3 中的简短 sn-ps 代码,或者如果您需要,甚至可以制作一个小的 PSD 或 SWF 文件: )
-
当我一天访问您网站的次数超过您目录中的文件时会发生什么?
-
@Martin 它应该重新开始计数并重复文件,但只有在完成所有文件之后。
标签: php javascript random include server-side-includes