文件管理系统-FileSystem

这是本人原创的文件查看系统,咱废话不多说,直接上代码~

PHP代码:

<?php
//PHP代码:
error_reporting(0);
// 目录
function listDir($root){
	$param = $_GET['dir'];
	$url = explode('/', $param);
	$now_dir = current(array_reverse($url));
	if ($now_dir == '..') {
		array_pop($url);
		array_pop($url);
	}
	$new = implode('/', $url);
	$_GET['dir'] = $new;

	$direct = explode('/', $root);
	$last = current(array_reverse($direct));
	array_pop($direct);
	$rootDir = implode('/', $direct);
	$new_url = $rootDir.'/<a href="'.$_SERVER['PHP_SELF'].'">'.$last.'</a>';
	foreach ($url as $k => $v) {
		if (!empty($v)) {
			$vv .= '/'.$v;
			$new_url .= '/<a href="?dir='.$vv.'">'.$v.'</a>';
		}
	}
	$res['root'] = $new_url;
	if ($new) {
		$root .= '/'.$new;
	}
	$dir = scandir($root,1);
	foreach ($dir as $k => $v) {
		$new = $root.'/'.$v;
		if ($v == '..') {
			$res[$v]['type'] = 1;
			$res[$v]['size'] = 1;
		}elseif (is_dir($new) && $v!='.') {
			$res[$v]['type'] = 1;
			$res[$v]['size'] = 0;
		}elseif($v!='.'){
			$res[$v]['type'] = 0;
			$res[$v]['size'] = filesize($new);
		}
	}	
	$sort = array_values($res);
	array_multisort($res,SORT_DESC,$sort);
	return $res;
}
?>

HTML代码:

<!-- HTML代码 -->
<?php $root = 'D:/phpStudy/www/laravel-master';$dir = listDir($root);?>
<p>当前目录:<?php echo $dir['root'];unset($dir['root']);?></p>
<table border="1" cellspacing="0" cellpadding="1" width="520">
	<tr>
		<th>类型</th>
		<th>文件名</th>
		<th>文件大小(kb)</th>
	</tr>
	<?php foreach ($dir as $k => $v): ?>
		<tr>
			<td class='type'><?php if($v['type'] ==1){echo '目录';}else{echo '文件';}?></td>
			<td style="padding-left:7px;">
				<?php 
				if($v['type'] ==1){
					if($_GET['dir'] != '' || $k != '..'){
						echo "<a href='?dir=".$_GET['dir'].'/'.$k."'>";
					}
				}?>
					<?php echo $k;?>
				<?php 
				if($v['type'] ==1){
					if($_GET['dir'] != '' || $k != '..'){
						echo '</a>';
					}
				}?>
			</td>
			<td class="action"><?php echo $k=='..'?'未知':($v['size']==0?'---':$v['size']);?></td>
		</tr>
	<?php endforeach ?>
</table>
<style>
	.type{text-align: center;}
	.action{text-align: center;}
	a{text-decoration: none;color: blue;}
</style>

最后出来的效果图如下:(注:蓝色字体部分是目录,可点击进入查看目录里的文件)

技苑

附上FileSystem的升级版:FileSystem.zip


技苑
请先登录后发表评论
  • 最新评论
  • 总共0条评论
  • © 2016-2024 技苑 | PHP是最好的语言 版权所有 ICP证:鄂ICP备15021999号-4
  • 联系邮箱:master@pengxb.com