随机将图像分配给我的网站中的每个页面?

时间:2011-04-08 16:47:03

标签: php algorithm random

我有一个50页的网站和一组20张图片。我如何在某种程度上随机地为每个页面分配图像,但确保每个页面始终显示相同的图像?

每个页面都有一个slug值,有没有办法将其散列为1-20(或任何一组数字)的整数?

3 个答案:

答案 0 :(得分:1)

正如@Null Set所说,如果这是静态内容,那么手动操作就足够简单了。另一方面,如果页面是动态生成的,那么将这些信息保存在数据库中也许是值得的。您可以拥有一个images表,其中每个记录都有一个自动递增ID和图像的URL。然后,保存页面信息的db表可以保存相关images表记录的外键。

通过使用等同于RAND()的数据库从images表中选择要使用的随机记录,可以为任何新页面分配图像(但请注意,对于MySQL,RAND()很快遇到性能问题 - 20条记录没问题,但是如果你开始添加更多,你将需要start optimizing多一点。)

答案 1 :(得分:1)

我几乎可以肯定你可以使用body id =“page”来定义使用选择器显示哪个图像。

或多或少与使用css sprites为导航执行活动状态的方式相同。

答案 2 :(得分:1)

$count = md5($str) % 20;之类的内容,如果页面str没有变化,页面图像将保持不变。如果您更改内容,则图像将会更改。

PHP人员通常包括页眉,页脚和其他部分的总页面,但如果不是这样,或者内容在某个文件中分开,那么您也可以使用md5_file函数。