"); define(LINKHEADER,"
  • "); define(LINKFOOTER,"
  • "); define(FOOTER,""); // メニューの出力先 // 画面に表示 web // 画面にHTMLソースを表示 websource // ファイル file // ファイルの場合はファイル名の設定 define(MENUOUT,"websource"); define(MENUFILE,"menu.txt"); // ここから編集不要 if (MENUOUT == "web") { print makehtml(); } else if (MENUOUT == "websource") { print htmlspecialchars(makehtml()); } else if (MENUOUT == "file") { $menudata = makehtml(); $fp = fopen(MENUFILE,"w"); fwrite($fp,$menudata); fclose($fp); } function makehtml() { $dirdata = opendir(DIRECTORY); $output = HEADER; while (false !== ($filename = readdir($dirdata))) { // ファイルが . で始まらないことをチェックし、 // ファイルの拡張子をチェックする if (substr($filename,0,1) != "." && stristr($filename,".") == EXTENSION) { $output .= LINKHEADER; // 自分自身へはハイパーリンクを張らない if ($filename == $_SERVER['SCRIPT_NAME']) { $output .= getdata($filename); } else { $output .= ""; $output .= getdata($filename); $output .= ""; } $output .= LINKFOOTER; $output .= "\n"; } } $output .= FOOTER; closedir($dirdata); return $output; } function getdata($file_in) { // ファイルからタイトルを抽出 $file = DIRECTORY."/".$file_in; $fp = fopen($file,"r"); $ref_str = fread($fp, 2000); if (eregi("(.*)", $ref_str, $out)) { // HTMLタグを取り除いてタイトルを出力 $title = strip_tags ($out[1]); } fclose($fp); return $title; } ?>