zoukankan      html  css  js  c++  java
  • php实现WEB在线文件管理器

    1、效果图

    功能包括:

    文件夹:创建文件夹、查看文件夹、复制文件夹、剪切文件夹、删除文件夹、重命名文件夹

    文件:查看文件、创建文件、编辑文件、复制文件、剪切文件、删除文件、重命名文件、下载文件、上传文件

    2、目录结构预览

    3、目录操作函数 dir.func.php

    <?php 
    
    // 目录操作函数集合
    
    //打开指定目录
    /**
     * 遍历目录函数,只读取目录中的最外层的内容
     * @param string $path
     * @return array
     */
    function readDirectory($path) {
        $handle = opendir ( $path );
        while ( ($item = readdir ( $handle )) !== false ) {
            //.和..这2个特殊目录
            if ($item != "." && $item != "..") {
                if (is_file ( $path . "/" . $item )) {
                    $arr ['file'] [] = $item;
                }
                if (is_dir ( $path . "/" . $item )) {
                    $arr ['dir'] [] = $item;
                }
            
            }
        }
        closedir ( $handle );
        return $arr;
    }
    //$path="file";
    //print_r(readDirectory($path));
    
    /**
     * 得到文件夹大小
     * @param string $path
     * @return int 
     */
    function dirSize($path){
        $sum=0;
        global $sum;
        $handle=opendir($path);
        while(($item=readdir($handle))!==false){
            if($item!="."&&$item!=".."){
                if(is_file($path."/".$item)){
                    $sum+=filesize($path."/".$item);
                }
                if(is_dir($path."/".$item)){
                    $func=__FUNCTION__;
                    $func($path."/".$item);
                }
            }
            
        }
        closedir($handle);
        return $sum;
    }
    //$path="file";
    //echo dirSize($path);
    
    function createFolder($dirname){
        //检测文件夹名称的合法性
        if(checkFilename(basename($dirname))){
            //当前目录下是否存在同名文件夹名称
            if(!file_exists($dirname)){
                if(mkdir($dirname,0777,true)){
                    $mes="文件夹创建成功";
                }else{
                    $mes="文件夹创建失败";
                }
            }else{
                $mes="存在相同文件夹名称";
            }
        }else{
            $mes="非法文件夹名称";
        }
        return $mes;
    }
    /**
     * 重命名文件夹
     * @param string $oldname
     * @param string $newname
     * @return string
     */
    function renameFolder($oldname,$newname){
        //检测文件夹名称的合法性
        if(checkFilename(basename($newname))){
            //检测当前目录下是否存在同名文件夹名称
            if(!file_exists($newname)){
                if(rename($oldname,$newname)){
                    $mes="重命名成功";
                }else{
                    $mes="重命名失败";
                }
            }else{
                $mes="存在同名文件夹";
            }
        }else{
            $mes="非法文件夹名称";
        }
        return $mes;
    }
    
    function copyFolder($src,$dst){
        //echo $src,"---",$dst."----";
        if(!file_exists($dst)){
            mkdir($dst,0777,true);
        }
        $handle=opendir($src);
        while(($item=readdir($handle))!==false){
            if($item!="."&&$item!=".."){
                if(is_file($src."/".$item)){
                    copy($src."/".$item,$dst."/".$item);
                }
                if(is_dir($src."/".$item)){
                    $func=__FUNCTION__;
                    $func($src."/".$item,$dst."/".$item);
                }
            }
        }
        closedir($handle);
        return "复制成功";
        
    }
    
    /**
     * 剪切文件夹
     * @param string $src
     * @param string $dst
     * @return string
     */
    function cutFolder($src,$dst){
        //echo $src,"--",$dst;
        if(file_exists($dst)){
            if(is_dir($dst)){
                if(!file_exists($dst."/".basename($src))){
                    if(rename($src,$dst."/".basename($src))){
                        $mes="剪切成功";
                    }else{
                        $mes="剪切失败";
                    }
                }else{
                    $mes="存在同名文件夹";
                }
            }else{
                $mes="不是一个文件夹";
            }
        }else{
            $mes="目标文件夹不存在";
        }
        return $mes;
    }
    
    /**
     * 删除文件夹
     * @param string $path
     * @return string
     */
    function delFolder($path){
        $handle=opendir($path);
        while(($item=readdir($handle))!==false){
            if($item!="."&&$item!=".."){
                if(is_file($path."/".$item)){
                    unlink($path."/".$item);
                }
                if(is_dir($path."/".$item)){
                    $func=__FUNCTION__;
                    $func($path."/".$item);
                }
            }
        }
        closedir($handle);
        rmdir($path);
        return "文件夹删除成功";
    }

    4、文件操作函数 file.func.php

    <?php 
    
    // 文件操作函数集合
    
    //Bytes/Kb/MB/GB/TB/EB
    /**
     * 转换字节大小
     * @param number $size
     * @return number
     */
    function transByte($size) {
        $arr = array ("B", "KB", "MB", "GB", "TB", "EB" );
        $i = 0;
        while ( $size >= 1024 ) {
            $size /= 1024;
            $i ++;
        }
        return round ( $size, 2 ) . $arr [$i];
    }
    
    /**
     * 创建文件
     * @param string $filename
     * @return string
     */
    function createFile($filename) {
        //file/1.txt
        //验证文件名的合法性,是否包含/,*,<>,?,|
        $pattern = "/[/,*,<>,?|]/";
        if (! preg_match ( $pattern, basename ( $filename ) )) {
            //检测当前目录下是否存在同名文件
            if (! file_exists ( $filename )) {
                //通过touch($filename)来创建
                if (touch ( $filename )) {
                    return "文件创建成功";
                } else {
                    return "文件创建失败";
                }
            } else {
                return "文件已存在,请重命名后创建";
            }
        } else {
            return "非法文件名";
        }
    }
    
    /**
     * 重命名文件
     * @param string $oldname
     * @param string $newname
     * @return string
     */
    function renameFile($oldname,$newname){
    //    echo $oldname,$newname;
    //验证文件名是否合法
        if(checkFilename($newname)){
            //检测当前目录下是否存在同名文件
            $path=dirname($oldname);
            if(!file_exists($path."/".$newname)){
                //进行重命名
                if(rename($oldname,$path."/".$newname)){
                    return "重命名成功";
                }else{
                    return "重命名失败";
                }
            }else{
                return "存在同名文件,请重新命名";
            }
        }else{
            return "非法文件名";
        }
        
    }
    
    /**
     *检测文件名是否合法
     * @param string $filename
     * @return boolean
     */
    function checkFilename($filename){
        $pattern = "/[/,*,<>,?|]/";
        if (preg_match ( $pattern,  $filename )) {
            return false;
        }else{
            return true;
        }
    }
    
    /**
     * 删除文件
     * @param string $filename
     * @return string
     */
    function delFile($filename){
        if(unlink($filename)){
            $mes="文件删除成功";
        }else{
            $mes="文件删除失败";
        }
        return $mes;
    }
    
    /**
     * 下载文件操作
     * @param string $filename
     */
    function downFile($filename){
        header("content-disposition:attachment;filename=".basename($filename));
        header("content-length:".filesize($filename));
        readfile($filename);
    }
    
    /**
     * 复制文件
     * @param string $filename
     * @param string $dstname
     * @return string
     */
    function copyFile($filename,$dstname){
        if(file_exists($dstname)){
            if(!file_exists($dstname."/".basename($filename))){
                if(copy($filename,$dstname."/".basename($filename))){
                    $mes="文件复制成功";
                }else{
                    $mes="文件复制失败";
                }
            }else{
                $mes="存在同名文件";
            }
        }else{
            $mes="目标目录不存在";
        }
        return $mes;
    }
    
    function cutFile($filename,$dstname){
        if(file_exists($dstname)){
            if(!file_exists($dstname."/".basename($filename))){
                if(rename($filename,$dstname."/".basename($filename))){
                    $mes="文件剪切成功";
                }else{
                    $mes="文件剪切失败";
                }
            }else{
                $mes="存在同名文件";
            }
        }else{
            $mes="目标目录不存在";
        }
        return $mes;
    }
    
    /**
     * 上传文件
     * @param array $fileInfo
     * @param string $path
     * @param array $allowExt
     * @param int $maxSize
     * @return string
     */
    function uploadFile($fileInfo,$path,$allowExt=array("gif","jpeg","jpg","png","txt"),$maxSize=10485760){
        //判断错误号
        if($fileInfo['error']==UPLOAD_ERR_OK){
            //文件是否是通过HTTP POST方式上传上来的
            if(is_uploaded_file($fileInfo['tmp_name'])){
                //上传文件的文件名,只允许上传jpeg|jpg、png、gif、txt的文件
                //$allowExt=array("gif","jpeg","jpg","png","txt");
                $ext=getExt($fileInfo['name']);
                $uniqid=getUniqidName();
                $destination=$path."/".pathinfo($fileInfo['name'],PATHINFO_FILENAME)."_".$uniqid.".".$ext;
                if(in_array($ext,$allowExt)){
                    if($fileInfo['size']<=$maxSize){
                        if(move_uploaded_file($fileInfo['tmp_name'], $destination)){
                            $mes="文件上传成功";
                        }else{
                            $mes="文件移动失败";
                        }
                    }else{
                        $mes="文件过大";
                    }
                }else{
                    $mes="非法文件类型";
                }
            }else{
                $mes="文件不是通过HTTP POST方式上传上来的";
            }
        }else{
            switch($fileInfo['error']){
                case 1:
                    $mes="超过了配置文件的大小";
                    break;
                case 2:
                    $mes="超过了表单允许接收数据的大小";
                    break;
                case 3:
                    $mes="文件部分被上传";
                    break;
                case 4:
                    $mes="没有文件被上传";
                    break;
            }
        }
        
        return $mes;
        
    }

    5、公共函数 common.func.php

    <?php 
    
    // 公共函数集合
    
    /**
     * 提示操作信息的,并且跳转
     * @param string $mes
     * @param string $url
     */
    function alertMes($mes,$url){
        echo "<script type='text/javascript'>alert('{$mes}');location.href='{$url}';</script>";
    }
    
    /**
     * 截取文件扩展名
     * @param string $filename
     * @return string
     */
    function getExt($filename){
        return strtolower(pathinfo($filename,PATHINFO_EXTENSION));
    }
    
    /**
     * 产生唯一名称
     * @param int $length
     * @return string
     */
    function getUniqidName($length=10){
        return substr(md5(uniqid(microtime(true),true)),0,$length);
    }

    6、主文件 index.php

    <?php 
    require_once 'dir.func.php';
    require_once 'file.func.php';
    require_once 'common.func.php';
    $path="file";
    $path=$_REQUEST['path']?$_REQUEST['path']:$path;
    $act=$_REQUEST['act'];
    $filename=$_REQUEST['filename'];
    $dirname=$_REQUEST['dirname'];
    $info=readDirectory($path);
    if(!$info){
        echo "<script>alert('没有文件或目录!!!');location.href='index.php';</script>";
    }
    //print_r($info);
    $redirect="index.php?path={$path}";
    if($act=="创建文件"){
        //创建文件
    //    echo $path,"--";
    //    echo $filename;
        $mes=createFile($path."/".$filename);
        alertMes($mes,$redirect);
    }elseif($act=="showContent"){
        //查看文件内容
            $content=file_get_contents($filename);
            //echo "<textarea readonly='readonly' cols='100' rows='10'>{$content}</textarea>";
            //高亮显示PHP代码
            //高亮显示字符串中的PHP代码
            if(strlen($content)){
            $newContent=highlight_string($content,true);
            //高亮显示文件中的PHP代码
            //highlight_file($filename);
            $str=<<<EOF
            <table width='100%' bgcolor='pink' cellpadding='5' cellspacing="0" >
                <tr>
                    <td>{$newContent}</td>
                </tr>
            </table>
    EOF;
            echo $str;
        }else{
            alertMes("文件没有内容,请编辑再查看!",$redirect);
        }
    }elseif($act=="editContent"){
        //修改文件内容
        //echo "编辑文件";
        $content=file_get_contents($filename);
        //echo $content;
        $str=<<<EOF
        <form action='index.php?act=doEdit' method='post'> 
            <textarea name='content' cols='190' rows='10'>{$content}</textarea><br/>
            <input type='hidden' name='filename' value='{$filename}'/>
            <input type="hidden" name="path" value="{$path}" />
            <input type="submit" value="修改文件内容"/>
        </form>
    EOF;
        echo $str;
    }elseif($act=="doEdit"){
        //修改文件内容的操作
        $content=$_REQUEST['content'];
        //echo $content;
        if(file_put_contents($filename,$content)){
            $mes="文件修改成功";
        }else{
            $mes="文件修改失败";
        }
        alertMes($mes,$redirect);
    }elseif($act=="renameFile"){
        //完成重命名
        $str=<<<EOF
        <form action="index.php?act=doRename" method="post"> 
        请填写新文件名:<input type="text" name="newname" placeholder="重命名"/>
        <input type='hidden' name='filename' value='{$filename}' />
        <input type="submit" value="重命名"/>
        </form>
    EOF;
    echo $str;
    }elseif($act=="doRename"){
        //实现重命名的操做
        $newname=$_REQUEST['newname'];
        $mes=renameFile($filename,$newname);
        alertMes($mes,$redirect);
    }elseif($act=="delFile"){
        $mes=delFile($filename);
        alertMes($mes,$redirect);
    }elseif($act=="downFile"){
        //完成下载的操作
        $mes=downFile($filename);
    }elseif($act=="创建文件夹"){
        $mes=createFolder($path."/".$dirname);
        alertMes($mes,$redirect);
    }elseif($act=="renameFolder"){
        $str=<<<EOF
                <form action="index.php?act=doRenameFolder" method="post"> 
        请填写新文件夹名称:<input type="text" name="newname" placeholder="重命名"/>
        <input type="hidden" name="path" value="{$path}" />
        <input type='hidden' name='dirname' value='{$dirname}' />
        <input type="submit" value="重命名"/>
        </form>
    EOF;
    echo $str;
    }elseif($act=="doRenameFolder"){
        $newname=$_REQUEST['newname'];
        //echo $newname,"-",$dirname,"-",$path;
        $mes=renameFolder($dirname,$path."/".$newname);
        alertMes($mes,$redirect);
    }elseif($act=="copyFolder"){
            $str=<<<EOF
        <form action="index.php?act=doCopyFolder" method="post"> 
        将文件夹复制到:<input type="text" name="dstname" placeholder="将文件夹复制到"/>
        <input type="hidden" name="path" value="{$path}" />
        <input type='hidden' name='dirname' value='{$dirname}' />
        <input type="submit" value="复制文件夹"/>
        </form>
    EOF;
    echo $str;
    }elseif($act=="doCopyFolder"){
        $dstname=$_REQUEST['dstname'];
        $mes=copyFolder($dirname,$path."/".$dstname."/".basename($dirname));
        alertMes($mes,$redirect);
    }elseif($act=="cutFolder"){
                $str=<<<EOF
        <form action="index.php?act=doCutFolder" method="post"> 
        将文件夹剪切到:<input type="text" name="dstname" placeholder="将文件剪切到"/>
        <input type="hidden" name="path" value="{$path}" />
        <input type='hidden' name='dirname' value='{$dirname}' />
        <input type="submit" value="剪切文件夹"/>
        </form>
    EOF;
    echo $str;
    }elseif($act=="doCutFolder"){
        //echo "文件夹被剪切了";
        $dstname=$_REQUEST['dstname'];
        $mes=cutFolder($dirname,$path."/".$dstname);
        alertMes($mes,$redirect);
    }elseif($act=="delFolder"){
        //完成删除文件夹的操作
        //echo "文件夹被删除了";
        $mes=delFolder($dirname);
        alertMes($mes,$redirect);
    }elseif($act=="copyFile"){
                    $str=<<<EOF
        <form action="index.php?act=doCopyFile" method="post"> 
        将文件复制到:<input type="text" name="dstname" placeholder="将文件复制到"/>
        <input type="hidden" name="path" value="{$path}" />
        <input type='hidden' name='filename' value='{$filename}' />
        <input type="submit" value="复制文件"/>
        </form>
    EOF;
    echo $str;
    }elseif($act=="doCopyFile"){
        $dstname=$_REQUEST['dstname'];
        $mes=copyFile($filename,$path."/".$dstname);
        alertMes($mes,$redirect);
    }elseif($act=="cutFile"){
                    $str=<<<EOF
        <form action="index.php?act=doCutFile" method="post"> 
        将文件剪切到:<input type="text" name="dstname" placeholder="将文件剪切到"/>
        <input type="hidden" name="path" value="{$path}" />
        <input type='hidden' name='filename' value='{$filename}' />
        <input type="submit" value="剪切文件"/>
        </form>
    EOF;
    echo $str;
    }elseif($act=="doCutFile"){
        $dstname=$_REQUEST['dstname'];
        $mes=cutFile($filename,$path."/".$dstname);
        alertMes($mes,$redirect);
    }elseif($act=="上传文件"){
        //print_r($_FILES);
        $fileInfo=$_FILES['myFile'];
        $mes=uploadFile($fileInfo,$path);
        alertMes($mes, $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{
            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>
            <?php 
            $back=($path=="file")?"file":dirname($path);
            ?>
            <li><a href="#" title="返回上级目录" onclick="goBack('<?php echo $back;?>')"><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($info['file']){
        $i=1;
        foreach($info['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 class="small" src="images/<?php echo $src;?>" alt=""/></td>
            <td><?php $src=is_writable($p)?"correct.png":"error.png";?><img class="small" src="images/<?php echo $src;?>" alt=""/></td>
            <td><?php $src=is_executable($p)?"correct.png":"error.png";?><img class="small" src="images/<?php echo $src;?>" alt=""/></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>
            <?php 
            //得到文件扩展名
                $ext=strtolower(end(explode(".",$val)));
                $imageExt=array("gif","jpg","jpeg","png");
                if(in_array($ext,$imageExt)){
                    ?>    
                    <a href="#"  onclick="showDetail('<?php echo $val;?>','<?php echo $p;?>')"><img class="small" src="images/show.png"  alt="" title="查看"/></a>|
            <?php 
                }else{
            ?>
            <a href="index.php?act=showContent&path=<?php echo $path;?>&filename=<?php echo $p;?>" ><img class="small" src="images/show.png"  alt="" title="查看"/></a>|
            <?php }?>
            <a href="index.php?act=editContent&path=<?php echo $path;?>&filename=<?php echo $p;?>"><img class="small" src="images/edit.png"  alt="" title="修改"/></a>|
            <a href="index.php?act=renameFile&path=<?php echo $path;?>&filename=<?php echo $p;?>"><img class="small" src="images/rename.png"  alt="" title="重命名"/></a>|
            <a href="index.php?act=copyFile&path=<?php echo $path;?>&filename=<?php echo $p;?>"><img class="small" src="images/copy.png"  alt="" title="复制"/></a>|
            <a href="index.php?act=cutFile&path=<?php echo $path;?>&filename=<?php echo $p;?>"><img class="small" src="images/cut.png"  alt="" title="剪切"/></a>|
            <a href="#"  onclick="delFile('<?php echo $p;?>','<?php echo $path;?>')"><img class="small" src="images/delete.png"  alt="" title="删除"/></a>|
            <a href="index.php?act=downFile&path=<?php echo $path;?>&filename=<?php echo $p;?>"><img class="small"  src="images/download.png"  alt="" title="下载"/></a>
            </td>        
        </tr>
    <?php 
    $i++;
        }
    }
    
    
    
    ?>
    
    <!-- 读取目录的操作-->
    <?php 
    if($info['dir']){
        $i=$i==null?1:$i;
        foreach($info['dir'] 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  $sum=0; echo transByte(dirSize($p));?></td>
            <td><?php $src=is_readable($p)?"correct.png":"error.png";?><img class="small" src="images/<?php echo $src;?>" alt=""/></td>
            <td><?php $src=is_writable($p)?"correct.png":"error.png";?><img class="small" src="images/<?php echo $src;?>" alt=""/></td>
            <td><?php $src=is_executable($p)?"correct.png":"error.png";?><img class="small" src="images/<?php echo $src;?>" alt=""/></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?path=<?php echo $p;?>" ><img class="small" src="images/show.png"  alt="" title="查看"/></a>|
            <a href="index.php?act=renameFolder&path=<?php echo $path;?>&dirname=<?php echo $p;?>"><img class="small" src="images/rename.png"  alt="" title="重命名"/></a>|
            <a href="index.php?act=copyFolder&path=<?php echo $path;?>&dirname=<?php echo $p;?>"><img class="small" src="images/copy.png"  alt="" title="复制"/></a>|
            <a href="index.php?act=cutFolder&path=<?php echo $path;?>&dirname=<?php echo $p;?>"><img class="small" src="images/cut.png"  alt="" title="剪切"/></a>|
            <a href="#"  onclick="delFolder('<?php echo $p;?>','<?php echo $path;?>')"><img class="small" src="images/delete.png"  alt="" title="删除"/></a>|
            </td>        
        </tr>
    <?php 
    $i++;
        }
    }
    
    ?>
    
        
        
        
    </table>
    </form>
    
    </body>
    </html>

    缺点:php混编

  • 相关阅读:
    理解KMP算法
    Rabin-Karp字符串查找算法
    利用有限自动机(finite automata)进行模式匹配
    Trie树详解
    win7 64位安装redis 及Redis Desktop Manager使用
    Struts2中EL表达式取值
    jquery的each()详细介绍
    double 类型运算会出现精度问题
    Navicat 导入数据报错 --- 1153
    JAVAAPI学习之Calendar类;Calendar类set()、add()、roll()方法区别
  • 原文地址:https://www.cnblogs.com/chenyingying0/p/12874435.html
Copyright © 2011-2022 走看看