小型web文件管理器

Original 2019-02-27 18:25:48 290
abstract:/** *config.php中的代码 */<?php/** * 配置文件 */include 'function.php';$path = 'file';@$path = $_REQUEST['path'] ? $_REQUEST['path'] : $path;var_dump($path);$data

/**

 *config.php中的代码

 */

<?php
/**
* 配置文件
*/
include 'function.php';

$path = 'file';

@$path = $_REQUEST['path'] ? $_REQUEST['path'] : $path;

var_dump($path);

$data = read_dir($path);

//var_dump($data);

if(!$data){
   echo '<script>alert("目录为空")</script>';
}

//判断点击操作
@$act = $_REQUEST['act'];

//接受创建的文件名
@$filename = $_REQUEST['filename'];

//接受创建的文件夹名
@$dirname = $_REQUEST['dirname'];

//用于操作完成后跳回首页(伪刷新)
$url = "index.php?path={$path}";

?>


/**

 *operration.php中的代码

 */

<?php
/**
* 操作配置
*/
include 'common.php';

if($act == '创建文件'){
//    var_dump($filename);
   $mes = create_file($path.'/'.$filename);
   alertMes($mes,$url);
}elseif ($act == 'showContent'){
   $content = read_file($filename);
   if(strlen($content)){
       //给字符串添加高亮
       $newContent = highlight_string($content,true);
       //制作显示表
       $str = <<<HERE
   <table width="100%" bgcolor="pink" cellpadding="5" cellspacing="">
   <tr>
   <td>{$newContent}</td>
</tr>
   
</table>
HERE;
       echo $str;
   }else{
       alertMes('文件为空,请编辑后在查看!',$url);
   }
   //判断点击操作
}elseif ($act == 'editContent'){
   //获取文件内容
   $content = file_get_contents($filename);
//    var_dump($filename);
   //制作表单
   $str = <<<HERE
<form action="index.php?act=doEdit" method="post">
   <textarea cols="180" rows="10" name="content">{$content}</textarea>
   <input type="hidden" name="path" value="{$path}" />
   <input type="hidden" name="filename" value="{$filename}" />
   <input type="submit" value="修改内容" />
</form>
HERE;
echo $str;
   //判断操作
}elseif ($act == 'doEdit'){
   //获取修改内容
   $content = $_REQUEST['content'];
//    var_dump($filename);
   //进行修改并判断
   if(file_put_contents($filename, $content)){
       $mes = '文件修改成功';
   }else{
       $mes = '文件修改失败';
   }
   alertMes($mes,$url);
   //判断操作
}elseif ($act == 'renameFile'){
   $str = <<<HERE
<form action="index.php?act=doRename" method="post">
   请输入新文件名称:<input type="text" name="newName" placeholder="输入新名称"/>
   <input type="hidden" name="path" value="{$path}">
   <input type="hidden" name="filename" value="{$filename}">
   <input type="submit" value="重命名">
</form>
HERE;
   echo $str;
   //判断操作
}elseif ($act == 'doRename'){
   //接受新名称
   $newName = $_REQUEST['newName'];
   //进行修改文件名
   $mes = rename_file($filename, $path.'/'.$newName);
   alertMes($mes, $url);
   //判断操作
}elseif ($act == 'copyFile'){
   //制作输入框
   $str = <<<HERE
<form action="index.php?act=doCopyFile" method="post">
   文件复制到:<input type="text" name="destName" placeholder="将文件复制到">
   <input type="hidden" name="path" value="{$path}">
   <input type="hidden" name="filename" value="{$filename}">
   <input type="submit" value="复制文件">
</form>
HERE;
   echo $str;
   //判断操作
}elseif ($act == 'doCopyFile'){
   //接受目标目录
   $destName = $_REQUEST['destName'];
   //进行复制操作
   $mes = copy_file($filename, $path.'/'.$destName);
   //提示操作
   alertMes($mes, $url);
}elseif ($act == 'cutFile'){
   $str = <<<HERE
<form action="index.php?act=doCutFile" method="post">
   文件剪切到:<input type="text" name="destName" placeholder="将文件剪切到">
   <input type="hidden" name="path" value="{$path}">
   <input type="hidden" name="filename" value="{$filename}">
   <input type="submit" value="剪切文件">
</form>
HERE;
   echo $str;
}elseif ($act == 'doCutFile'){
   $destName = $_REQUEST['destName'];
   $mes = cut_file($filename, $path.'/'.$destName);
   alertMes($mes, $url);
}elseif ($act == 'dowFile'){
   $mes = dow_file($filename);
}elseif ($act == 'delFile'){
   if(unlink($filename)){
       alertMes("文件删除成功!", $url);
   }else{
       alertMes("文件删除失败!", $url);
   }
}elseif ($act == '上传文件'){
   $fileinfo = $_FILES['myFile'];
   $mes = upload_file($fileinfo, $path);
   alertMes($mes ,$url);
}elseif ($act == '创建文件夹'){
   $mes = create_folder($path.'/'.$dirname);
   alertMes($mes, $url);
}elseif ($act == 'renameFolder'){
   $str = <<<HERE
<form action="index.php?act=doRenameFolder" method="post">
   重命名为:<input type="text" name="newFolderName" placeholder="请输入文件夹名称">
   <input type="hidden" name="dirname" value="{$dirname}">
   <input type="hidden" name="path" value="{$path}">
   <input type="submit" value="重命名">
</form>
HERE;
   echo $str;
}elseif ($act == 'doRenameFolder'){
   $newFolderName = $_REQUEST['newFolderName'];
   $mes = rename_dir($dirname, $path.'/'.$newFolderName);
   alertMes($mes, $url);
}elseif ($act == 'copyFolder'){
   $str = <<<HERE
<form action="index.php?act=doCopyFolder" method="post">
   复制到:<input type="text" name="newFolderName" placeholder="复制文件夹到">
   <input type="hidden" name="dirname" value="{$dirname}">
   <input type="hidden" name="path" value="{$path}">
   <input type="submit" value="复制">
</form>
HERE;
   echo $str;
}elseif ($act == 'doCopyFolder'){
   $newFolderName = $_REQUEST['newFolderName'];
   $mes = copy_dir($dirname, $path.'/'.$newFolderName.'/'.basename($dirname));
   alertMes($mes, $url);
}elseif ($act == 'cutFolder'){
   $str = <<<HERE
<form action="index.php?act=doCutFolder" method="post">
   剪切到:<input type="text" name="newFolderName" placeholder="剪切文件夹到">
   <input type="hidden" name="dirname" value="{$dirname}">
   <input type="hidden" name="path" value="{$path}">
   <input type="submit" value="剪切">
</form>
HERE;
   echo $str;
}elseif ($act == 'doCutFolder'){
   $newFolderName = $_REQUEST['newFolderName'];
   $mes = cut_dir($dirname, $path.'/'.$newFolderName);
   alertMes($mes, $url);
}elseif ($act == 'delFolder'){
   $mes = del_folder($dirname);
   alertMes($mes, $url);
}


/**

 *common.php中的代码

 */

<?php
/**
* 公共提示信息
*/

function alertMes($mes, $url)
{
   echo '<script>alert("'.$mes.'");'.'location.href="'.$url.'"</script>';
}

?>

/**

 *index.php中的代码

 */

<?php
include 'config.php';
include 'operation.php';
?>
<!doctype html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>PHP中文网—Web在线文件管理器</title>
   <link rel="stylesheet" href="css/cikonss.css"/>
   <link rel="stylesheet" href="css/style.css"/>
   <link rel="stylesheet" href="css/jquery-ui-1.10.4.custom.css" type="text/css"/>
   <script src="js/jquery-1.10.2.js"></script>
   <script src="js/jquery-ui-1.10.4.custom.js"></script>
   <script src="js/action.js"></script>
</head>
<body>
<h1 align="center">PHP中文网—Web在线文件管理器</h1>
<div id="showDetail" style="display:none"><img src="" id="showImg" alt=""/></div>
<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 = $data == '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>
   </table>
</form>
<table width="100%" border="1" cellpadding="5" cellspacing="0" bgcolor="#ABCDEF" align="center">
   <tr>
       <th>编号</th>
       <th>名称</th>
       <th>类型</th>
       <th>大小</th>
       <th>可读</th>
       <th>可写</th>
       <th>可执行</th>
       <th>创建时间</th>
       <th>修改时间</th>
       <th>访问时间</th>
       <th>操作</th>
   </tr>
<?php
       if(@$data['file']){
$i = 1;
foreach ($data['file'] as $v) {
$p = $path.'/'.$v;
//                var_dump($p);
?>
<tr>
       <td><?php echo $i;?></td>
       <td><?php echo $v;?></td>
       <td><?php $src = filetype($p) == 'file' ? 'file_ico.png' : 'folder_ico.png';?><img src="images/<?php echo $src;?>" title="文件"></td>
       <td><?php echo trans_byte(filesize($p));?></td>
       <td><?php $src = is_readable($p) ? 'correct.png' : 'error.png';?><img class="small" src="images/<?php echo $src;?>"></td>
       <td><?php $src = is_writable($p) ? 'correct.png' : 'error.png';?><img class="small" src="images/<?php echo $src;?>"></td>
       <td><?php $src = is_executable($p) ? 'correct.png' : 'error.png';?><img class="small" src="images/<?php echo $src;?>"></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(pathinfo($v,PATHINFO_EXTENSION));
$imagesExt = ['jpeg','png','jpg','gif'];
if(in_array($ext, $imagesExt)){
?>
<a href="#" onclick="showDetail('<?php echo $v;?>','<?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="index.php?act=dowFile&path=<?php echo $path;?>&filename=<?php echo $p;?>"><img class="small" src="images/download.png" alt="" title="下载"/></a>
           <a href="#" onclick="delFile('<?php echo $p;?>','=<?php echo $path;?>')"><img class="small" src="images/delete.png" alt="" title="删除"/></a>
       </td>
   </tr>
<?php
$i++;
}
       }

if(@$data['dir']) {
$i = 1;
foreach ($data['dir'] as $v) {
$p = $path . '/' . $v;
//                var_dump($p);
?>
<tr>
       <td><?php echo $i;?></td>
       <td><?php echo $v;?></td>
       <td><?php $src = filetype($p) == 'dir' ? 'folder_ico.png' : 'file_ico.png'?><img src="images/<?php echo $src;?>" title="文件夹"></td>
       <td><?php $sum = 0; echo trans_byte(dir_size($p));?></td>
       <td><?php $src = is_readable($p) ? 'correct.png' : 'error.png';?><img class="small" src="images/<?php echo $src;?>"></td>
       <td><?php $src = is_writable($p) ? 'correct.png' : 'error.png';?><img class="small" src="images/<?php echo $src;?>"></td>
       <td><?php $src = is_executable($p) ? 'correct.png' : 'error.png';?><img class="small" src="images/<?php echo $src;?>"></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>
</body>
</html>

Correcting teacher:韦小宝Correction time:2019-02-28 09:16:33
Teacher's summary:写的很完成 下次这种记得附上个结果图片哦

Release Notes

Popular Entries