<?php require "config.php"; if (!isset($_GET['path'])) { header("Location: ./404.php"); exit; } elseif (($path = trim($_GET['path'])) == "") { header("Location: ./404.php"); exit; } elseif (!is_file($path)) { header("Location: ./404.php"); exit; } elseif (!is_readable($path)) { xhtml_head("查看文件"); echo "<div class=\"like\">\n"; echo "<a href=\"./index.php?path=" . urlencode(dirname($path)) . "\"]>返回目录</a>错误提示\n"; echo "</div>\n"; echo "<div class=\"love\">\n"; echo "此文件您没有读取权限!"; echo "</div>\n"; xhtml_footer(); } else { xhtml_head("查看文件"); echo "<div class=\"like\">\n"; echo "<a href=\"./index.php?path=" . urlencode(dirname($path)) . "\"]>返回目录</a>选择编码\n"; echo "</div>\n"; echo "<div class=\"love\">"; echo "<form action=\"\" method=\"GET\">\n"; echo "<select name=\"charset\">\n"; if (!function_exists("mb_convert_encoding")) { echo "<option>缺少模块</option>\n"; } else { $sencode = mb_list_encodings(); usort($sencode, "___sortcmp"); foreach ($sencode as $encode) { if ($encode == "pass") { continue; } if (function_exists("mb_encoding_aliases")) { $alias = mb_encoding_aliases($encode); echo "\n<optgroup label=\"$encode\">\n"; echo "<option value=\"$encode\">$encode</option>\n"; if (is_array($alias)) if (count($alias) >= 1) { usort($alias, "___sortcmp"); foreach ($alias as $encodealias) { if ($encodealias == $encode) { continue; } echo "<option value=\"$encode\">$encodealias</option>\n"; } } echo "</optgroup>\n"; } else { echo "<option value=\"$encode\">$encode</option>\n"; } } } echo "</select>\n"; echo "<input type=\"hidden\" name=\"path\" value=\"$path\" />"; echo "<input type=\"submit\" value=\"设置编码\" />\n"; echo "</form>\n"; echo "</div>\n"; echo "<div class=\"like\">爱特文件内容浏览</div>\n"; if (filesize($path) > (2 * 1024 * 1024)) { echo "<div class=\"love\">\n"; echo "文件过大,请下载后查看!\n"; echo "</div>\n"; } else { echo "<div class=\"love\">\n"; if (!($data = file_get_contents($path))) { echo "读取文件时发生了错误!\n"; } else { echo "<pre>"; if (!isset($_GET['charset'])) { echo nl2br(___codepre(___convert($data, "UTF-8"))); } elseif (($charset = trim($_GET['charset'])) == "") { echo nl2br(___codepre(___convert($data, "UTF-8"))); } else { echo nl2br(___codepre(___convert($data, "UTF-8", $charset))); } echo "<pre>\n"; } echo "</div>"; } xhtml_footer(); } ?>