<?php session_cache_limiter('nocache'); session_start(); $GLOBALS['level'] = 0; header( "Content-Type: text/html; charset=utf-8" ); ?> <!DOCTYPE html> <html lang="ja"> <head> <meta content="width=device-width initial-scale=1.0 minimum-scale=1.0 maximum-scale=1.0 user-scalable=no" name="viewport"> <meta charset="utf-8"> <title>list4.php</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/js/bootstrap.bundle.min.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.css"> <script> $(function(){ // ページ右下固定位置のリンク var scroll_top = $("<a id='scroll_top'>▲</a>") scroll_top.prop("href","javascript:void(0)"); scroll_top.css({ "position": "fixed", "opacity": "0.5", "text-decoration": "none", "font-size" : "40px", "color" : "rgba(255,255,255,0.85)", "text-shadow" : "1px 1px 2px #656a6f", "right" : "3%", "bottom" : "5rem", "display" : "none" }); // クリックした時の処理 scroll_top.on("click", function(){ window.scroll(0,0); }); // ページの最後に追加 $("body").append( scroll_top ); // スクロールが無い先頭部分では表示しない $(window).on("scroll",function(){ var scroll = $("html").scrollTop(); if ( scroll <= 200 && $("#scroll_top").css("display") != "none" ) { $("#scroll_top").css("display","none"); } if ( scroll > 200 && $("#scroll_top").css("display") == "none" ) { $("#scroll_top").css("display",""); } }); }); </script> </head> <body> <div class="btn-group" style='position:fixed;left:200px;top:0px;z-index:2147483647'> <button type="button" class="btn btn-secondary">ジャンプ</button> <button type="button" class="btn btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <span class="sr-only">Toggle Dropdown</span> </button> <div class="dropdown-menu"> <a class="dropdown-item" href="#cs">C#</a> <a class="dropdown-item" href="#database">データベース</a> <a class="dropdown-item" href="#excel">Excel</a> <a class="dropdown-item" href="#html">HTML</a> <a class="dropdown-item" href="#java">Java</a> <a class="dropdown-item" href="#javascript">JavaScript</a> <a class="dropdown-item" href="#jquery">jQuery</a> <a class="dropdown-item" href="#php">PHP</a> <a class="dropdown-item" href="#system-design">システム設計</a> <a class="dropdown-item" href="#tools">ツール</a> <a class="dropdown-item" href="#windows">Windows</a> <a class="dropdown-item" href="#work">作業場所</a> </div> </div> <div style='margin-left:-38px;margin-bottom:1000px;'> <ul> <?php recursionFiles( realpath("./") ) ?> </ul> </div> </body> </html> <?php // *********************************************** // 再帰によるファイル一覧作成 // *********************************************** function recursionFiles( $target ) { $GLOBALS['level']++; // パターンにマッチするパス名を探す $files = glob( "{$target}/*" ); foreach ( $files as $file ) { // ファイル if (is_file($file)) { $path_parts = pathinfo($file); if ( $path_parts['extension'] == "doc" || $path_parts['extension'] == "line" || $path_parts['extension'] == "ttl" || $path_parts['extension'] == "menu" ) { continue; } if ( $path_parts['extension'] == "png" || $path_parts['extension'] == "jpg" ) { continue; } $target = $path_parts['basename']; $ttl = $path_parts['dirname'] . "/" . $path_parts['filename'] . ".ttl"; if ( file_exists( $ttl ) ) { $target = file_get_contents( $ttl ); } $url = str_replace("/home/lightbox/www/homepage", "", $path_parts['dirname']); if ( $target == "list1.php" || $target == "list2.php" || $target == "list3.php" || $target == "list4.php" ) { continue; } // 配列に追加 print "<li><a style='color:black' href=\"{$url}/?src={$path_parts['basename']}\">{$target}</a></li>"; } // フォルダ else { $url = str_replace("/home/lightbox/www/homepage", "", $file); $path_parts = pathinfo($url); if ( $path_parts['basename'] == "image" || $path_parts['basename'] == "log" ) { continue; } if ( $GLOBALS['level'] == 1 ) { print "<li id=\"{$path_parts['basename']}\" class=\"alert alert-primary\" style='padding:10px;margin-top:25px;list-style:none;'><a href=\"{$url}\">{$path_parts['basename']}</a></li>"; } else { print "<li id=\"{$path_parts['basename']}\" style='margin-top:10px;'><a class=\"btn btn-outline-primary\" style='width:200px;text-align:left;' href=\"{$url}\">{$path_parts['basename']}</a></li>"; } print "<UL style='margin-bottom:20px;'>"; // 再帰でさらにフォルダ内を探索する recursionFiles($file); print "</UL>"; } } $GLOBALS['level']--; } ?>