这可能是一个奇怪的问题类型,但是您将如何根据下一页包含的链接数量生成具有其大小的方形链接。
将使用以下方法生成链接数量:
$directory = "directory/subdirectory1/";
$files = glob($directory . "*");
$count = 0;
foreach($files as $file)
{
if(is_dir($file))
{
count++;
}
}
因此,假设在文件夹目录中,我们有 6 个子目录,名称为 subdirectory1 - 6,对于每个目录,我们将找出每个目录有多少个目录,然后将其存储在一个数组中。
从这里我们可以开始生成正方形。一切都应该根据百分比来完成,所以我们不必担心绝对值。他们不应该有小尺寸。
所以假设subdirectory1
里面有 18 个目录,subdirectory2
有 15 个,subdirectory3
有 12 个,subdirectory4
有 9 个,subdirectory5
有 6 个,subdirectory6
还有 2 个
在这种情况下,很明显subdirectory1
应该是最大的,所以应该是页面的 50%,然后subdirectory2
,subdirectory3
并且subdirectory4
有非常相似的数量,所以我会说通过将它们分成 50% 的一半高度subdirectory1
并subdirectory4
放在下一行,那么最后 2 行将是该行的 25%,结果如下:
但是我怎么能满足目录的任何比例,任何可以帮助我的算法呢?这需要能够容纳 30 多个不同的子目录。
谢谢你的时间 :)
更新
所以我决定对它们进行分组,而不仅仅是文件夹的数量,我要做的是将它们存储在数据库中,并按父 ID 对它们进行分组。
我将根据几个不同的因素确定大小,首先是父 ID,这将是决定的主体,然后是流行度,所以分析数据,页面被浏览了多少,人们与帖子互动了多少(评论、投票等)。
根据这个数据,我会给每个父母一个 0 到 100 之间的分数,并以此为基础,会有 4 种尺寸,它们很容易分配,x > 75 最大,50 < x > 75 大,25 > x < 50 正常,0 > x < 25 小,0 无。
有人对我应该用于分数的算法有什么建议吗?