glob PHP

f:id:tenman:20090130093049p:image


ホームページを作っていると、PHPという言葉を聞く事があります。

ホームページの作る人が言う、PHPは、ホームページの書き方のひとつの方法です。



ホームページは、htmlという書き方をするのですが、これが大変書くのが面倒なため、
「自動的にやれよ。」という事をコンピュータに頼むために、使ったりします。


「やれよ。」という命令の仕方にも、英語や日本語のように、いろんな言葉で夫々言い方があります。
PHPは、そのいろんな中の、ひとつです。



ホームページを書くときのつらさは、
ハイパーリンクをいろんなところに書かなくちゃいけない。というところにあります。


理由は、インターネットは、ハイパーリンクで出来ているからです。
ハイパーリンクがないと、誰も見つけることが出来ない「ゴーストドキュメント」になります。


Windowsのホルダを開いたときに、ファイル一覧が表示されますが、あんなやつを、手書きするのがhtmlと思っていただけると、ドンだけ徒労感が付きまとうかわかってもらえるかもしれない...

その、ホルダ一覧を作るときに、(コンピュータに、そのホルダの画像ファイル一覧作って、リンクつけて画像を小さく表示できるように やっといてください。と頼む書き方)


PHPで、便利そうに思った書き方をメモに残します。


でも、このコードを、コピペしてブラウザで開いたからといって、PHPをインストールしてないと、何も起きません。

<?php
/**
 * 指定したディレクトリからjpg png gif ファイルを探して
 * html list形式で表示するコードを、シンプルに書く。
 *
 * このオプションが、いい。
 *
 * GLOB_MARK - 各ディレクトリにスラッシュを追加します
 * GLOB_NOSORT - ディレクトリに存在するファイルを返します (ソートはされません)
 * GLOB_NOCHECK - 検索パターンにマッチするファイルが見つからない場合に、 検索パターン自身を返します
 * GLOB_NOESCAPE - バックスラッシュによるメタ文字のクォートを行いません
 * GLOB_BRACE - {a,b,c} を展開し「a」、「b」あるいは「c」のいずれかにマッチさせます
 * GLOB_ONLYDIR - パターンにマッチするディレクトリのみを返します
 * GLOB_ERR - (ディレクトリが読めないなどの) 読み込みエラー時に停止します。
 * デフォルトではエラーは無視されます。
 *
 */
 
		$result  = "<ul style=\"list-style:none;\">\n";
	
foreach(glob("images/*{.jpg,.png,.gif}",GLOB_BRACE) as $key=>$val){

		$result .= "<li class=\"mod" . ($key + 2) % 2 . "\">";
		$result .= "<a href=\"$val\"><img src=\"$val\" alt=\"".basename($val)."\" width=\"100\" /></a>";
		$result .= "</li>\n";
 
}
   echo $result.'</ul>';

exit;
?>