glob PHP
ホームページを作っていると、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; ?>