我有一个50页的网站和一组20张图片。我如何在某种程度上随机地为每个页面分配图像,但确保每个页面始终显示相同的图像?
每个页面都有一个slug值,有没有办法将其散列为1-20(或任何一组数字)的整数?
答案 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
函数。