我有一个50页的网站和一组20张图片。我如何随机分配一个图像到每个页面,但确保每个页面将始终显示相同的图像?
每个页面都有一个分段值,是否有办法将其散列成1-20的整数(或任何一组数字)?
正如@Null Set所说,如果这是静态内容,那么手工操作就足够简单了。另一方面,如果页面是动态生成的,那么将此信息保存在数据库中可能是值得的。您可以有一个images
表,其中每个记录都有一个自动递增的id和图像的URL。保存页面信息的db表可以保存相关images
表记录的外键。
任何新页面都可以通过使用相当于RAND()
的数据库从images
表中随机选择一条记录来分配一个图像(尽管要注意,对于MySQL, RAND()
很快就会遇到性能问题- 20条记录很好,但如果你开始添加更多,你将不得不开始优化更多)。
我几乎可以肯定,您可以使用body id="page"来定义将使用选择器显示哪个图像。
与使用css精灵为导航设置活动状态的方式大致相同。
如何像$count = md5($str) % 20;
,页面图像将保持不变,如果页面str
没有改变。如果你改变了内容,那么图像也会改变。
PHP人员通常包括页眉,页脚和其他部分的总页面,但如果这不是真的或内容在某些文件中是分开的,那么您也可以使用md5_file
函数