タグクラウド作ってみた

タグクラウド

タグをクリックすると大きくなります。
かなりいい加減なつくり&CSSデザインにセンスないのは仕様…私のせいです。

実装はもっとかっこよくなる予定!さてどんな風に組み込もうか。

<?php
//参考させていただいたスクリプト(http://akihiro.jugem.jp/?eid=127)に基づいて
//変数を渡す

/*
こんな感じでデータを渡してください
abc順になっていなくても大丈夫です

$data = array(
   array(Tag:String, URL:String, amount:Integer, active:Boolean),
   array('あれ', './tag=are', 200),
   array('これ', 'http://www.google.co.jp/', 17, true),
   array('それ', '../', 30),
);
//以下略
*/

//上のようにデータを渡すには…

$lines = file($log);
//GETでデータ渡すのでurl
$url = "index.php?word=";
//同じデータをカウントしてくれる関数array_count_values
$keyw = array_count_values($lines);
//print_r($keyw);

foreach( $keyw as $key => $value ){
    $keyword=$key;
    $keyword = array();
    $keyword[]="$key";
    $key=urlencode($key);
    $keyword[]="$url$key";
    $keyword[]="$value";
    $keyword[]="";
    $data[]=$keyword;
} 

//以下略
?>

だいぶ省略していますが。キーワードだけが改行で書かれたログデータを用意し、それを読み込んでいます。どうやってキーワードの頻出回数を知るかというと

PHP: array_count_values - Manual

という便利なものがあるそうです。詳しくはマニュアルを。これでだいぶズルできました。
SQLとか使った方がかんたんだろうなー。