mirror of
				https://github.com/xiaoqidun/phpcp.git
				synced 2025-11-04 10:29:37 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			87 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?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();
 | 
						|
}
 | 
						|
?>
 |