に width height を含める する:1 しない:0 define('PUT_DATE', 0); // 更新時刻を入れる する:1 しない:0 define('HTML_ENTRANCE_O', 'sam_r.htm'); // 入り口ファイル名(逆順 define('HTML_ENTRANCE_R', 'sam.htm'); // 入り口ファイル名(正順 define('N_HTML_SUFFIX_O', 's_r.htm'); // 1ページ以降の拡張子(逆順 define('N_HTML_SUFFIX_R', 's.htm'); // 1ページ以降の拡張子(正順 define('GOTO_P', 'sam_r.htm'); // 最初に表示するページ define('TITLE', 'サムネイル一覧'); // タイトル(
';
if ($page==0) { $dat .= '最終更新:'.date('\'y m月 d日 H:i.').' 前回'; } else { $dat .= '最終'; } $dat .= '更新:'.date('\'y m月 d日 H:i.', filemtime(HTML_ENTRANCE_O)).''; $dat .= " | \n";
}
$dat .= '[更新] [戻る] |
サムネイル一覧
'; } /* * ファイル一覧を作る。 * 各サムネイルも作る。 * 各アイコンとの関連付けも行う。 */ function prepare_files() { global $src_rootdir, $config_ext, $ignore_file; $iterator = new RecursiveIteratorIterator( new RecursiveDirectoryIterator( IMG_DIR, FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS | FilesystemIterator::UNIX_PATHS)); $iterator->setMaxDepth(DIR_DEPTH); $key1 = array(); $files = array(); foreach ($iterator as $info) { if (preg_match($ignore_file, $info->getFilename())) { continue; }; if (! array_key_exists(strtolower($info->getExtension()), $config_ext)) { continue; }; // ファイル名と拡張子を取得 $tmpext = '.' . $info->getExtension(); $tmpart = $info->getBasename($tmpext); $tmsubdir = $iterator->getSubPath(); $thumb = prepare_thumb_path_by_src_pathcompo( $src_rootdir, $tmsubdir, $tmpart, $tmpext); $src_path = join_pathcompo( $src_rootdir, $tmsubdir, $tmpart, $tmpext); // リスト生成 if (SORT_BY_DATE) { // http://www.php.net/manual/ja/class.splfileinfo.php $key1[] = $info->getMTime(); } else { $key1[] = $info->getFilename(); }; if ($iterator->getSubPath() != '') { $fixsub = slash_to_2f($iterator->getSubPath() . '/'); } else { $fixsub = 'root_2F_'; }; $files[] = array( 'subpath' => $iterator->getSubPath(), 'name' => $tmpart, 'ext' => $tmpext, 'ext_lower_without_dot' => strtolower(substr($tmpext, 1)), 'thumbpath' => $thumb->path, 'srcpath' => $src_path ); }; // ソート array_multisort($key1, SORT_ASC, SORT_REGULAR, $files); return $files; }; function build_dispmsg(&$files, &$file_index, $files_length, $page_local_index) { /* * $page_local_index: 序数 */ global $src_rootdir; $val = current($files); if ($val === false) { return ''; }; next($files); $line = $file_index; ++$file_index; $attr_width_height = ''; if (IMG_INWH && file_exists($val['thumbpath'])) { // tesheke: サムネへの縮小とこの部分で計算が二重になってしまっている $size = getimagesize($val['thumbpath']); // 画像表示縮小 list($out_w, $out_h) = might_shrink_size($size); $attr_width_height = 'width="' . $out_w . '" height="' . $out_h . '"'; }; $rel_img_path = IMG_DIR . ($val['subpath'] != '') ? $val['subpath'] . '/' . $val['name'] . $val['ext'] : $val['name'] . $val['ext']; $imglink = str_replace('%2F','/',rawurlencode($rel_img_path)); $thumblink = str_replace('%2F', '/', rawurlencode($val['thumbpath'])); $dispmsg = ''; // 画像テーブル $dispmsg .= ''.TITLE_T.' '.TITLE_R.'
'; $tmpB = ''.TITLE_T.' '.TITLE_R.'
'; } else { $tmpA = ''.TITLE_T.' '.TITLE_R.'
'; $tmpB = ''.TITLE_T.' '.TITLE_R.'
'; }; } else { if ($i == 0) { $pagesA .= '[0] '; $pagesB .= '[0] '; } else { $pagesA .= '['.$i.'] '; $pagesB .= '['.$i.'] '; }; }; }; if ($pages_length > $next) { $pagesA .= ' 次へ>>'; $pagesB .= ' 次へ>>'; } else { $pagesA .= ' 次へ>>'; $pagesB .= ' 次へ>>'; }; // ヘッダHTML head($datA,$page); head($datB,$page); // 総数表示 $datA .= '画像総数'.$files_length."枚
\n"; $datB .= '画像総数'.$files_length."枚
\n"; // 表示方法 $datA .= $tmpA; $datB .= $tmpB; // ページリンク $datA .= ''.$pagesA."
\n"; $datB .= ''.$pagesB."
\n"; // 画像テーブル $datA .= "'.$pagesA."
\n"; $datB .= ''.$pagesB."
\n"; // 表示方法 $datA .= $tmpA; $datB .= $tmpB; // フッタHTML foot($datA); foot($datB); // 記事部分作成 if ($page == 0) { $logfilename = HTML_ENTRANCE_O; } else { $logfilename = $page . N_HTML_SUFFIX_O; }; $fp = fopen($logfilename, "w"); set_file_buffer($fp, 0); rewind($fp); fputs($fp, $datA); fclose($fp); chmod($logfilename, 0666); // 記事部分作成 if ($page == 0) { $logfilename_reverse = HTML_ENTRANCE_R; } else { $logfilename_reverse = $page . N_HTML_SUFFIX_R; }; $fp = fopen($logfilename_reverse, 'w'); set_file_buffer($fp, 0); rewind($fp); fputs($fp, $datB); fclose($fp); chmod($logfilename_reverse,0666); }; }; /* フッタ */ function foot(&$dat){ $dat .= ' '; } /* エラー画面 */ function error($mes){ head($dat,1); echo $dat; echo "