Web 在线文件管理器学习笔记与总结(13)重命名文件夹(14)复制文件夹

时间:2021-10-09 08:57:35

(13)重命名文件夹

① 重命名文件夹通过 rename($oldname,$newname) 实现

② 检测文件夹名是否符合规范

③ 检测当前目录中是否存在同名文件夹名称,如果不存在则重命名成功

index.php:

<?php
require 'dir.func.php';
require 'file.func.php';
require 'common.func.php';
$path = 'file';
$path = @$_REQUEST['path']?@$_REQUEST['path']:$path;
$info = readDirectory($path);
if($info == NULL){
echo '<script>alert("没有文件和目录"); </script>';
}
$act = @$_REQUEST['act'];
$filename = @$_REQUEST['filename'];
$dirname = @$_REQUEST['dirname'];
//跳转变量
$redirect = "index.php?path={$path}";
if($act == 'createFile'){
//创建文件
$mes = createFile($path.'/'.$filename);
alertMes($mes,$redirect);
}else if($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);
}
}else if($act == 'editContent'){
$content = file_get_contents($filename);
$str=<<<EOF
<form action='index.php?act=doEdit' method='post'>
<textarea name='content' cols='100' 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;
}else if($act == 'doEdit'){
//修改文件内容
$content = $_POST['content'];
if(file_put_contents($filename, $content)){
$mes = '文件修改成功';
}else if(!$content){
$mes = '文件内容被清空';
}else{
$mes = '文件修改失败';
}
alertMes($mes,$redirect);
}else if($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="hidden" name="path" value='$path'>
<input type='submit' value='重命名'>
</form>
EOF;
echo $str;
}else if($act == 'doRename'){
//实现重命名操作
$newname = $_POST['newname'];
$mes = renameFile($filename,$newname);
alertMes($mes,$redirect);
}else if($act == 'delFile'){
$mes = delFile($filename);
alertMes($mes,$redirect);
}else if($act == 'downFile'){
downFile($filename);
}else if($act == 'copyFolder'){ }else if($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;
}else if($act == 'doRenameFolder'){
$newname = $_POST['newname'];
//echo $newname,'-------',$dirname,'-----------',$path;
$mes = renameFolder($dirname,$path.'/'.$newname);
alertMes($mes,$redirect);
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" href="cikonss.css" />
<link rel="stylesheet" href="common.css" />
<script src="jquery-1.8.3.min.js"></script>
<script src="jquery-ui-1.11.3/jquery-ui.min.js"></script>
<link rel="stylesheet" href="jquery-ui-1.11.3/jquery-ui.min.css" />
</head>
<body>
<div id="showDetail" style="display:none"><img src="" alt="" id="showImg"></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="#" 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="#" 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="javascript:void(0)" onclick='goBack("<?php echo $back;?>")' title="返回上级目录"><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="hidden" name='act' value='createFile'/>
<input type="submit" 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 align="center">
<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 align="center">
<td><?php echo $i;?></td>
<td><?php echo $val;?></td>
<td><?php $src = filetype($p) == 'file'?'file_ico.png':'folder_ico.png';?><img src="data: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="data:images/<?php echo $src;?>" class="small" alt="" title='可读'></td>
<td><?php $src = is_writeable($p)?'correct.png':'error.png';?><img src="data:images/<?php echo $src;?>" class="small" alt="" title='可写'></td>
<td><?php $src = is_executable($p)?'correct.png':'error.png';?><img src="data:images/<?php echo $src;?>" class="small" alt="" title='可写'></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','png','jpeg');
if(in_array($ext, $imageExt)){ ?>
<a href="javascript:void(0)" onclick='showDetail("<?php echo $val;?>","<?php echo $p;?>")' title='查看'><img src="data:images/show.png" class="small" alt=""></a> <?php }else{ ?>
<a href="index.php?act=showContent&path=<?php echo $path;?>&filename=<?php echo $p;?>" title='查看'><img src="data:images/show.png" class="small" alt=""></a>
<?php
}
?> <a href="index.php?act=editContent&path=<?php echo $path;?>&filename=<?php echo $p;?>" title='修改'><img src="data:images/edit.png" class="small" alt=""></a>
<a href="index.php?act=renameFile&path=<?php echo $path;?>&filename=<?php echo $p;?>" title='重命名'><img src="data:images/rename.png" class="small" alt=""></a>
<a href="" title='复制'><img src="data:images/copy.png" class="small" alt=""></a>
<a href="" title='剪切'><img src="data:images/cut.png" class="small" alt=""></a>
<a href="javascript:void(0)" onclick="delFile('<?php echo $p;?>')" title='删除'><img src="data:images/delete.png" class="small" alt=""></a>
<a href="index.php?act=downFile&path=<?php echo $path;?>&filename=<?php echo $p;?>" title='下载'><img src="data:images/download.png" class="small" alt=""></a>
</td>
</tr>
<?php
$i++;
}
}
?>
<!--读取目录-->
<?php
if(@$info['dir']){
foreach($info['dir'] as $val){
$p = $path.'/'.$val;
?>
<tr align="center">
<td><?php echo $i;?></td>
<td><?php echo $val;?></td>
<td><?php $src = filetype($p) == 'file'?'file_ico.png':'folder_ico.png';?><img src="data:images/<?php echo $src;?>" alt="" title='文件'></td>
<td><?php $size = 0; echo transByte(dirSize($p));?></td>
<td><?php $src = is_readable($p)?'correct.png':'error.png';?><img src="data:images/<?php echo $src;?>" class="small" alt="" title='可读'></td>
<td><?php $src = is_writeable($p)?'correct.png':'error.png';?><img src="data:images/<?php echo $src;?>" class="small" alt="" title='可写'></td>
<td><?php $src = is_executable($p)?'correct.png':'error.png';?><img src="data:images/<?php echo $src;?>" class="small" alt="" title='可写'></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;?>" title='查看'><img src="data:images/show.png" class="small" alt=""></a>
<a href="index.php?act=renameFolder&path=<?php echo $path;?>&dirname=<?php echo $p;?>" title='重命名'><img src="data:images/rename.png" class="small" alt=""></a>
<a href="index.php?act=copyFolder&path=<?php echo $path;?>&dirname=<?php echo $p;?>" title='复制'><img src="data:images/copy.png" class="small" alt=""></a>
<a href="" title='剪切'><img src="data:images/cut.png" class="small" alt=""></a>
<a href="javascript:void(0)" onclick="delFile('<?php echo $p;?>')" title='删除'><img src="data:images/delete.png" class="small" alt=""></a>
<a href="index.php?act=downFile&filename=<?php echo $p;?>" title='下载'><img src="data:images/download.png" class="small" alt=""></a>
</td>
</tr>
<?php
$i++;
}
}
?>
</table>
</form>
<script src='common.js'></script>
</body>
</html>

dir.func.php 中添加:

//重命名文件夹
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;
}

dir.func.php:

<?php
//遍历目录函数,只读取最外层
function readDirectory($path){
$handle = opendir($path);
$arr = array();
while(($item = readdir($handle)) !== false){
//.当前目录和..上级目录
if($item != '.' && $item != '..'){
if(is_file($path.'/'.$item)){ //文件
$arr['file'][] = $item; //把文件保存至二维数组
}
if(is_dir($path.'/'.$item)){ //目录
$arr['dir'][] = $item; //把目录保存至二维数组
}
}
}
closedir($handle);
return $arr;
} //得到文件夹大小
function dirSize($path){
$handle = opendir($path);
$size = 0;
//static $size;
global $size;
while(($item = readdir($handle)) !== false){
if($item != '.' && $item != '..'){
if(is_file($path.'/'.$item)){
$size += filesize($path.'/'.$item);
}else if(is_dir($path.'/'.$item)){
dirSize($path.'/'.$item);
//递归的另一种写法
//$func = __FUNCTION__;
//$func($path.'/'.$item);
}
}
}
closedir($handle);
return $size;
} //重命名文件夹
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;
}

遇到了两个问题:

① 在重命名文件夹时,耗时太长:-----其实耗时的过程不在rename方法上,而是慢在递归计算目录大小。

Web 在线文件管理器学习笔记与总结(13)重命名文件夹(14)复制文件夹

② 使用 rename() 方法重命名非空文件夹时失败。----其实不是非空文件夹重命名失败,而是超时。

Web 在线文件管理器学习笔记与总结(13)重命名文件夹(14)复制文件夹

====

找到慢的原因了,慢不是因为rename,而是递归计算目录大小,把

<td><?php $size = ; echo transByte(dirSize($p));?></td>

中的 php 注释掉,就不会发生慢的情况。但是一个 200 多B 的目录,递归计算其大小为什么会这么慢呢。递归代码如下:

//得到文件夹大小
function dirSize($path){
$size = 0;
$handle = opendir($path);
//static $size;
global $size;
while(($item = readdir($handle)) !== false){
if($item != '.' && $item != '..'){
if(is_file($path.'/'.$item)){
$size += filesize($path.'/'.$item);
} if(is_dir($path.'/'.$item)){
//dirSize($path.'/'.$item);
//递归的另一种写法
$func = __FUNCTION__;
$func($path.'/'.$item);
}
}
}
closedir($handle);
return $size;
}

慢的原因我想是因为首先加载目录列表时要执行readDirectory()方法,需要循环执行opendir,readdir,closedir;然后在计算目录大小时,又要循环执行opendir,readdir,closedir,在空目录时耗时没有体现出来,但是目录一旦非空,耗时长的情况就比较明显了。

(14)复制文件夹

目录函数库中没有直接复制文件夹的函数,要完成复制文件夹需要通过 复制其中的文件 和 创建目录 来实现。

① 目标文件夹不存在,创建目标文件夹

② 当目标文件夹存在,判断目标文件夹下是否存在同名文件夹,如果没有同名文件夹,则创建将要复制的文件夹;如果存在同名文件夹,则把要复制的文件夹下的内容复制到同名文件夹下

关键代码:

dir.func.php:

//复制文件夹
function copyFolder($src,$dst){
if(!file_exists($dst)){
mkdir($dst,0777,true);//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 '复制成功';
}

dir.func.php 完整代码:

<?php
//遍历目录函数,只读取最外层
function readDirectory($path){
$handle = opendir($path);
$arr = array();
while(($item = readdir($handle)) !== false){
//.当前目录和..上级目录
if($item != '.' && $item != '..'){
if(is_file($path.'/'.$item)){ //文件
$arr['file'][] = $item; //把文件保存至二维数组
}
if(is_dir($path.'/'.$item)){ //目录
$arr['dir'][] = $item; //把目录保存至二维数组
}
}
}
closedir($handle);
return $arr;
} //得到文件夹大小
function dirSize($path){
$size = 0;
$handle = opendir($path);
//static $size;
global $size;
while(($item = readdir($handle)) !== false){
if($item != '.' && $item != '..'){
if(is_file($path.'/'.$item)){
$size += filesize($path.'/'.$item);
} if(is_dir($path.'/'.$item)){
//dirSize($path.'/'.$item);
//递归的另一种写法
$func = __FUNCTION__;
$func($path.'/'.$item);
}
}
}
closedir($handle);
return $size;
} //重命名文件夹
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){
if(!file_exists($dst)){
mkdir($dst,0777,true);//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 '复制成功';
}

index.php:

<?php
require 'dir.func.php';
require 'file.func.php';
require 'common.func.php';
$path = 'file';
$path = @$_REQUEST['path']?@$_REQUEST['path']:$path;
$info = readDirectory($path);
if($info == NULL){
echo '<script>alert("没有文件和目录"); </script>';
}
$act = @$_REQUEST['act'];
$filename = @$_REQUEST['filename'];
$dirname = @$_REQUEST['dirname'];
//跳转变量
$redirect = "index.php?path={$path}";
if($act == 'createFile'){
//创建文件
$mes = createFile($path.'/'.$filename);
alertMes($mes,$redirect);
}else if($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);
}
}else if($act == 'editContent'){
$content = file_get_contents($filename);
$str=<<<EOF
<form action='index.php?act=doEdit' method='post'>
<textarea name='content' cols='100' 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;
}else if($act == 'doEdit'){
//修改文件内容
$content = $_POST['content'];
if(file_put_contents($filename, $content)){
$mes = '文件修改成功';
}else if(!$content){
$mes = '文件内容被清空';
}else{
$mes = '文件修改失败';
}
alertMes($mes,$redirect);
}else if($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="hidden" name="path" value='$path'>
<input type='submit' value='重命名'>
</form>
EOF;
echo $str;
}else if($act == 'doRename'){
//实现重命名操作
$newname = $_POST['newname'];
$mes = renameFile($filename,$newname);
alertMes($mes,$redirect);
}else if($act == 'delFile'){
$mes = delFile($filename);
alertMes($mes,$redirect);
}else if($act == 'downFile'){
downFile($filename);
}else if($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;
}else if($act == 'doCopyFolder'){
$dstname = $_REQUEST['dstname'];
$mes = copyFolder($dirname,$path.'/'.$dstname.'/'.basename($dirname));
alertMes($mes,$redirect);
}else if($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;
}else if($act == 'doRenameFolder'){
$newname = $_POST['newname'];
//echo $newname,'-------',$dirname,'-----------',$path;
$mes = renameFolder($dirname,$path.'/'.$newname);
alertMes($mes,$redirect);
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" href="cikonss.css" />
<link rel="stylesheet" href="common.css" />
<script src="jquery-1.8.3.min.js"></script>
<script src="jquery-ui-1.11.3/jquery-ui.min.js"></script>
<link rel="stylesheet" href="jquery-ui-1.11.3/jquery-ui.min.css" />
</head>
<body>
<div id="showDetail" style="display:none"><img src="" alt="" id="showImg"></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="#" 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="#" 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="javascript:void(0)" onclick='goBack("<?php echo $back;?>")' title="返回上级目录"><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="hidden" name='act' value='createFile'/>
<input type="submit" 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 align="center">
<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 align="center">
<td><?php echo $i;?></td>
<td><?php echo $val;?></td>
<td><?php $src = filetype($p) == 'file'?'file_ico.png':'folder_ico.png';?><img src="data: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="data:images/<?php echo $src;?>" class="small" alt="" title='可读'></td>
<td><?php $src = is_writeable($p)?'correct.png':'error.png';?><img src="data:images/<?php echo $src;?>" class="small" alt="" title='可写'></td>
<td><?php $src = is_executable($p)?'correct.png':'error.png';?><img src="data:images/<?php echo $src;?>" class="small" alt="" title='可写'></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','png','jpeg');
if(in_array($ext, $imageExt)){ ?>
<a href="javascript:void(0)" onclick='showDetail("<?php echo $val;?>","<?php echo $p;?>")' title='查看'><img src="data:images/show.png" class="small" alt=""></a> <?php }else{ ?>
<a href="index.php?act=showContent&path=<?php echo $path;?>&filename=<?php echo $p;?>" title='查看'><img src="data:images/show.png" class="small" alt=""></a>
<?php
}
?> <a href="index.php?act=editContent&path=<?php echo $path;?>&filename=<?php echo $p;?>" title='修改'><img src="data:images/edit.png" class="small" alt=""></a>
<a href="index.php?act=renameFile&path=<?php echo $path;?>&filename=<?php echo $p;?>" title='重命名'><img src="data:images/rename.png" class="small" alt=""></a>
<a href="" title='复制'><img src="data:images/copy.png" class="small" alt=""></a>
<a href="" title='剪切'><img src="data:images/cut.png" class="small" alt=""></a>
<a href="javascript:void(0)" onclick="delFile('<?php echo $p;?>')" title='删除'><img src="data:images/delete.png" class="small" alt=""></a>
<a href="index.php?act=downFile&path=<?php echo $path;?>&filename=<?php echo $p;?>" title='下载'><img src="data:images/download.png" class="small" alt=""></a>
</td>
</tr>
<?php
$i++;
}
}
?>
<!--读取目录-->
<?php
if(@$info['dir']){
$i = 1;
foreach($info['dir'] as $val){
$p = $path.'/'.$val;
?>
<tr align="center">
<td><?php echo $i;?></td>
<td><?php echo $val;?></td>
<td><?php $src = filetype($p) == 'file'?'file_ico.png':'folder_ico.png';?><img src="data:images/<?php echo $src;?>" alt="" title='文件'></td>
<td><?php //$size = 0; echo transByte(dirSize($p));?></td>
<td><?php $src = is_readable($p)?'correct.png':'error.png';?><img src="data:images/<?php echo $src;?>" class="small" alt="" title='可读'></td>
<td><?php $src = is_writeable($p)?'correct.png':'error.png';?><img src="data:images/<?php echo $src;?>" class="small" alt="" title='可写'></td>
<td><?php $src = is_executable($p)?'correct.png':'error.png';?><img src="data:images/<?php echo $src;?>" class="small" alt="" title='可写'></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;?>" title='查看'><img src="data:images/show.png" class="small" alt=""></a>
<a href="index.php?act=renameFolder&path=<?php echo $path;?>&dirname=<?php echo $p;?>" title='重命名'><img src="data:images/rename.png" class="small" alt=""></a>
<a href="index.php?act=copyFolder&path=<?php echo $path;?>&dirname=<?php echo $p;?>" title='复制'><img src="data:images/copy.png" class="small" alt=""></a>
<a href="" title='剪切'><img src="data:images/cut.png" class="small" alt=""></a>
<a href="javascript:void(0)" onclick="delFile('<?php echo $p;?>')" title='删除'><img src="data:images/delete.png" class="small" alt=""></a>
<a href="index.php?act=downFile&filename=<?php echo $p;?>" title='下载'><img src="data:images/download.png" class="small" alt=""></a>
</td>
</tr>
<?php
$i++;
}
}
?>
</table>
</form>
<script src='common.js'></script>
</body>
</html>