我需要在PHP
网页中显示文件夹中的所有图像。需要分页。图像可以超过10,000张,因此良好的性能非常重要,这是我怀疑的地方,更有效率的是什么?
使用scandir
对文件夹的图像进行分页。
自动将所有图像的名称保存在数据库中,并通过Mysqli
查询进行加载(使用临时缓存可能也很方便)。
您可以给我其他建议。
该网站使用WordPress
作为引擎,但是图像是使用与Wordpress隔离的PHP文件上传到子域的。
我考虑过像WordPress Custom-Post-Type
(使用mysqli
基本查询)那样保存所有图像的名称,并像其他出版物一样对它们进行分页,但是我认为,由于数量多,它会损害网站的整体性能(因为custom-post-type
与其他出版物保存在同一表格中)...
该网站每天必须支持超过3万次访问。
PD:很抱歉解释不正确,但解释起来很复杂,更多的是用另一种语言来解释。
答案 0 :(得分:0)
使用自定义表或第二个数据库。
您应该考虑避免对每个分页的请求重复调用scandir。
您可以访问全局$wpdb
对象,并执行自定义查询来管理目录的内容。
我倾向于只与WordPress分开管理图像数据。由于您已经在使用非WP上传脚本,因此只需创建一个新的DB并使用它来跟踪该脚本中的目录内容。分页结果是一个非常简单的数据库查询。这样可以使WP数据库更小,更快,并且对于必须处理的图像和访问的数量也不过分。