これは奇妙なタイプの質問かもしれませんが、次のページに含まれるリンクの数に基づいたサイズの正方形のリンクをどのように生成しますか?
リンクの量は、これを使用して生成されます。
$directory = "directory/subdirectory1/";
$files = glob($directory . "*");
$count = 0;
foreach($files as $file)
{
if(is_dir($file))
{
count++;
}
}
したがって、フォルダー ディレクトリに subdirectory1 から 6 までの 6 つのサブディレクトリがあるとします。各ディレクトリについて、それぞれのディレクトリの数を調べ、これを配列に格納します。
これから、正方形の生成を開始できます。すべてはパーセンテージに基づいて行う必要があるため、絶対値について心配する必要はありません。彼らは小さなサイズのようであってはなりません。
たとえばsubdirectory1
、18 個のディレクトリがあり、subdirectory2
15 個、subdirectory3
12 個、subdirectory4
9 個、subdirectory5
6 個、subdirectory6
2 個あったとします。
この状況でsubdirectory1
は、それが最大であることは明らかなので、それはページの 50% である必要があり、量subdirectory2
は非常に似ているため、半分の高さを持ち、次の行の場合、最後の 2 つはその行のそれぞれ 25% になり、次のようになります。subdirectory3
subdirectory4
subdirectory1
subdirectory4
しかし、ディレクトリの比率や、私を助けるアルゴリズムにどのように対応できるでしょうか? これは、30 以上の異なるサブディレクトリに対応できる必要があります。
御時間ありがとうございます :)
アップデート
そのため、フォルダの数だけでグループ化することにしました。データベースに保存し、親 ID でグループ化します。
サイズは、いくつかの異なる要素に基づいて決定します。最初は親 ID で、これが決定の大部分を占めます。次に、人気度、つまり分析データ、ページがどれだけ閲覧されたか、人々が投稿をどれだけ操作したか (コメント) 、投票など)。
このデータから、各親に 0 から 100 のスコアを付け、それに基づいてサイズを決定します。4 つのサイズがあり、それらは非常に簡単に割り当てられます。x > 75 大きい、50 < x > 75 大きい、25 > x < 50 通常、0 > x < 25 小さい、0 なし。
スコアに使用するアルゴリズムについて何か提案はありますか?