[PHP檔案管理器]⑤--file_get_contents檢視檔案

weixin_34087301發表於2017-07-26
2953340-1bad80033c94809e.png
Paste_Image.png

修改的程式碼

<a href="index.php?act=showContent&filename=<?php echo $p?>"><img class="small" src="images/show.png" alt=""
                        title="檢視" /></a>
if ($act == '建立檔案') {
    $mes = createFile ( $path . "/" . $filename );
    alertMes ( $mes, $redirect );
} else if ($act == 'showContent') {
    // 檢視檔案內容
    $content = file_get_contents ( $filename );
    if (strlen ( $content )) {
        // textarea能完整顯示程式碼
        // echo "<textarea col='1000' rows='10'>$content</textarea>";
        
        // 高亮顯示字元創中的PHP程式碼 true不自動輸出(echo)
        $newContent = highlight_string ( $content, true );
        // 高亮顯示檔案中的PHP程式碼
        // $content=highlight_file($filename,true);
        
        $str = <<<EOF
    <table width='100%' bgcolor='pink' cellpadding='5' cellspacing='0'>
        <tr>
            <td>
                {$newContent}
            </td>
        </tr>
    </table>
EOF;
        echo $str;
    } else {
        alertMes ( "檔案沒有內容,請編輯再檢視!", $redirect );
    }
}

index.php

<?php
require_once ('dir.func.php');
require_once 'file.func.php';
require_once 'common.func.php';

$path = 'file';
$path = isset ( $_REQUEST ['path'] ) ? $_REQUEST ['path'] : $path;
$arr = readDirectory ( $path );
$act = isset ( $_REQUEST ['act'] ) ? $_REQUEST ['act'] : '';
$filename = isset ( $_REQUEST ['filename'] ) ? $_REQUEST ['filename'] : '?';
$redirect = "index.php?path={$path}";
// echo $act."<br/>";
// echo $filename;

if ($act == '建立檔案') {
    $mes = createFile ( $path . "/" . $filename );
    alertMes ( $mes, $redirect );
} else if ($act == 'showContent') {
    // 檢視檔案內容
    $content = file_get_contents ( $filename );
    if (strlen ( $content )) {
        // textarea能完整顯示程式碼
        // echo "<textarea col='1000' rows='10'>$content</textarea>";
        
        // 高亮顯示字元創中的PHP程式碼 true不自動輸出(echo)
        $newContent = highlight_string ( $content, true );
        // 高亮顯示檔案中的PHP程式碼
        // $content=highlight_file($filename,true);
        
        $str = <<<EOF
    <table width='100%' bgcolor='pink' cellpadding='5' cellspacing='0'>
        <tr>
            <td>
                {$newContent}
            </td>
        </tr>
    </table>
EOF;
        echo $str;
    } else {
        alertMes ( "檔案沒有內容,請編輯再檢視!", $redirect );
    }
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Insert title here</title>
<link rel="stylesheet" href="cikonss.css" />
<script src="jquery-ui/js/jquery-1.10.2.js"></script>
<script src="jquery-ui/js/jquery-ui-1.10.4.custom.js"></script>
<script src="jquery-ui/js/jquery-ui-1.10.4.custom.min.js"></script>
<link rel="stylesheet"
    href="jquery-ui/css/ui-lightness/jquery-ui-1.10.4.custom.css"
    type="text/css" />
<style type="text/css">
body,p,div,ul,ol,table,dl,dd,dt {
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
}

ul,li {
    list-style: none;
    float: left;
}

#top {
    width: 100%;
    height: 48px;
    margin: 0 auto;
    background: #E2E2E2;
}

#navi a {
    display: block;
    width: 48px;
    height: 48px;
}

#main {
    margin: 0 auto;
    border: 2px solid #ABCDEF;
}

.small {
    width: 25px;
    height: 25px;
    border: 0;
}
</style>
<script type="text/javascript">
    function show(dis){
    document.getElementById(dis).style.display="block";
    }
    function delFile(filename,path){
        if(window.confirm("您確定要刪除嘛?刪除之後無法恢復喲!!!")){
                location.href="index.php?act=delFile&filename="+filename+"&path="+path;
        }
    }
    function delFolder(dirname,path){
        if(window.confirm("您確定要刪除嘛?刪除之後無法恢復喲!!!")){
            location.href="index.php?act=delFolder&dirname="+dirname+"&path="+path;
        }
    }
    function showDetail(t,filename){
        $("#showImg").attr("src",filename);
        $("#showDetail").dialog({
              height:"auto",
              width: "auto",
              position: {my: "center", at: "center",  collision:"fit"},
              modal:false,//是否模式對話方塊
              draggable:true,//是否允許拖拽
              resizable:true,//是否允許拖動
              title:t,//對話方塊標題
              show:"slide",
              hide:"explode"
        });
        }
    function goBack($back){
        location.href="index.php?path="+$back;
    }
</script>
</head>

<body>
    <div id="showDetail" style="display: none">
        <img src="" id="showImg" alt="" />
    </div>
    <h1>慕課網-線上檔案管理器</h1>
    <div id="top">
        <ul id="navi">
            <li><a href="index.php" title="主目錄"><span
                    style="margin-left: 8px; margin-top: 0px; top: 4px;"
                    class="icon icon-small icon-square"><span class="icon-home"></span></span></a></li>
            <li><a href="#" onclick="show('createFile')" title="新建檔案"><span
                    style="margin-left: 8px; margin-top: 0px; top: 4px;"
                    class="icon icon-small icon-square"><span class="icon-file"></span></span></a></li>
            <li><a href="#" onclick="show('createFolder')" title="新建資料夾"><span
                    style="margin-left: 8px; margin-top: 0px; top: 4px;"
                    class="icon icon-small icon-square"><span class="icon-folder"></span></span></a></li>
            <li><a href="#" onclick="show('uploadFile')" title="上傳檔案"><span
                    style="margin-left: 8px; margin-top: 0px; top: 4px;"
                    class="icon icon-small icon-square"><span class="icon-upload"></span></span></a></li>

            <li><a href="#" title="返回上級目錄" onclick="goBack('')"><span
                    style="margin-left: 8px; margin-top: 0px; top: 4px;"
                    class="icon icon-small icon-square"><span class="icon-arrowLeft"></span></span></a></li>
        </ul>
    </div>
    <form action="index.php" method="post" enctype="multipart/form-data">
        <table width="100%" border="1" cellpadding="5" cellspacing="0"
            bgcolor="#ABCDEF" align="center">
            <tr id="createFolder" style="display: none;">
                <td>請輸入資料夾名稱</td>
                <td><input type="text" name="dirname" /> <input type="hidden"
                    name="path" value="<?php echo $path;?>" /> <input type="submit"
                    name="act" value="建立資料夾" /></td>
            </tr>
            <tr id="createFile" style="display: none;">
                <td>請輸入檔名稱</td>
                <td><input type="text" name="filename" /> <input type="hidden"
                    name="path" value="<?php echo $path;?>" /> <input type="submit"
                    name="act" value="建立檔案" /></td>
            </tr>
            <tr id="uploadFile" style="display: none;">
                <td>請選擇要上傳的檔案</td>
                <td><input type="file" name="myFile" /> <input type="submit"
                    name="act" value="上傳檔案" /></td>
            </tr>
            <tr>
                <td>編號</td>
                <td>名稱</td>
                <td>型別</td>
                <td>大小</td>
                <td>可讀</td>
                <td>可寫</td>
                <td>可執行</td>
                <td>建立時間</td>
                <td>修改時間</td>
                <td>訪問時間</td>
                <td>操作</td>
            </tr>
        <?php
        if ($arr ['file']) {
            $i = 1;
            foreach ( $arr ['file'] as $val ) {
                $p = $path . "/" . $val;
                ?>
            <tr>
                <td><?php echo $i;?></td>
                <td><?php echo $val;?></td>
                <td><?php $src=filetype($p)=='file'?"file_ico.png":"folder_ico.png";?>
                <img src="images/<?php echo $src;?>" alt="" title="檔案" /></td>
                <td><?php echo transByte(filesize($p));?></td>
                <td><?php $src=is_readable($p)?"correct.png":"error.png"?>
            <img src="images/<?php echo $src?>" alt="" class="small" /></td>
                <td><?php $src=is_writeable($p)?"correct.png":"error.png"?>
            <img src="images/<?php echo $src?>" alt="" class="small" /></td>
                <td><img
                    src="images/<?php echo (is_executable($p)? "correct.png":"error.png");?>"
                    alt="" class="small" /></td>
                <td>
            <?php echo date("Y-m-d H:i:s",filectime($p))?>
            </td>
                <td>
            <?php echo date("Y-m-d H:i:s",filemtime($p))?>
            </td>
                <td>
            <?php echo date("Y-m-d H:i:s",fileatime($p))?>
            </td>
                <td><a href="index.php?act=showContent&filename=<?php echo $p?>"><img
                        class="small" src="images/show.png" alt="" title="檢視" /></a>| <a
                    href="">![](images/edit.png)</a>|
                    <a href=""><img class="small" src="images/rename.png" alt=""
                        title="重新命名" /></a>| <a href=""><img class="small"
                        src="images/copy.png" alt="" title="複製" /></a>| <a href=""><img
                        class="small" src="images/cut.png" alt="" title="剪下" /></a>| <a
                    href="" onclick=""><img class="small" src="images/delete.png"
                        alt="" title="刪除" /></a>| <a href=""><img class="small"
                        src="images/download.png" alt="" title="下載" /></a></td>
            </tr>
            
            
        <?php
                $i ++;
            }
        }
        ?>
    </table>
    </form>
</body>
</html>
2953340-b1f6a055fd46d394.png
Paste_Image.png

相關文章