HOME > WEBプログラム覚書 > 指定ディレクトリ内のファイルのタイトルを取得してリンクを作成
指定ディレクトリ内のファイルのタイトルを取得してリンクを作成
ディレクトリ内のファイルを取得する場合、opendir()使って
やってましたがglob()という便利なものがあるんですね。
リャマ本こと
を読んでて知りました。Perlの本だけどPHPの勉強にもなります。
指定ディレクトリのタイトルを取得してリンクを作成
とりあえず多少エントリのある
http://www.kantenna.com/pg/2009/01/
内のphpファイルへのリンクを作ります。
サンプルコード
PHP
<?php
// 取得したいファイルがあるディレクトリ
// DS = DIRECTORY_SEPARATOR
$target = DS . "pg" . DS . "2009" . DS . "01" . DS;
// タイトル格納用
$titles = array ( ) ;
// 作業ディレクトリの移動
chdir ( $_SERVER [ "DOCUMENT_ROOT" ] . $target ) ;
// .phpファイルを取得して title の中身を取得
foreach ( glob ( "*.php" ) as $filename ) {
$handle = fopen ( $filename , "r" ) ;
while ( ! feof ( $handle ) ) {
$line = fgets ( $handle ) ;
if ( preg_match ( "/<title>.*<\/title>/" , $line , $match ) ) {
$titles [ ] = array ( strip_tags ( $match [ 0 ] ) , $filename ) ;
fclose ( $handle ) ;
break ;
}
}
}
// 出力
echo "<ul>" ;
foreach ( $titles as $values ) {
printf ( '<li><a href="%s">%s</a></li>' , $target . $values [ 1 ] , $values [ 0 ] ) ;
}
echo "</ul>" ;
?>
実行結果
Notice : Use of undefined constant CQST_APP_VIEW - assumed 'CQST_APP_VIEW' in
/home/users/1/lolipop.jp-dp07173486/web/_/themes/default/views/pg/2009/03/post_42.php on line
126
Warning : chdir(): No such file or directory (errno 2) in
/home/users/1/lolipop.jp-dp07173486/web/_/themes/default/views/pg/2009/03/post_42.php on line
126
投稿日
2009年3月 5日 16:15
カテゴリ
PHP
タグ
サンプルコード | 関数
トラックバック URL
http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1169
コメント