1. <?php
  2. define('IN_ECS', true);
  3. session_start();
  4. header("Content-type:text/html;charset=utf-8");
  5. date_default_timezone_set('PRC');
  6. $dir = isset($_GET['dir']) ? $_GET['dir'] : './';
  7. $handle = opendir($dir);
  8. $_session = $_SESSION['user_id'] = 1234;
  9. $_logs = new Logs('./', 'lzw.php_logs.txt');
  10.  
  11. if (isset($_POST['upload'])) {
  12. if (is_uploaded_file($_FILES['myfile']['tmp_name'])) {
  13. $_size = 1024 * 1000 * 1000;
  14. // $_allowType = array();
  15. // if($_FILES['myfile']['type']){
  16. // }
  17. if ($_FILES['myfile']['error'] > 0) {
  18. echo('上传失败');
  19. }
  20. if ($_FILES['myfile']['size'] > $_size) {
  21. echo('超出允许的' . $_size . '字节上传大小限制');
  22. }
  23. if (!move_uploaded_file($_FILES['myfile']['tmp_name'], $_POST['path'] . '/' . $_FILES['myfile']['name'])) {
  24. echo '不能将文件移动到指定目录';
  25. } else {
  26. $str = '↑↑↑upload↑↑↑> ' . date('Y-m-d H:i:s', time()) . ' User: ' . $_session . ' upload file ' . $_POST['path'] . $_FILES['myfile']['name'] . "\r\n";
  27. $_logs->setLog($str);
  28. header('Location: lzw.php?dir=' . $_POST['path']);
  29. }
  30. } else {
  31. echo('恶意的用户无法欺骗脚本去访问本不能访问的文件');
  32. }
  33.  
  34. }
  35.  
  36. if (isset($_POST['mkdir'])) {
  37. $_path = $_POST['path'] . '/' . $_POST['dir_name'];
  38. mkdir($_path, 0777);
  39. header('location:lzw.php?dir=' . $_POST['path']);
  40. $str = '+++++mkdir++++++++> ' . date('Y-m-d H:i:s', time()) . ' User: ' . $_session . ' mkdir file ' . $_path . "\r\n";
  41. $_logs->setLog($str);
  42. }
  43.  
  44. if (isset($_GET['delf'])) {
  45. unlink($_GET['delf']);
  46. header('location: lzw.php?dir=' . $_GET['lastUrl']);
  47. $str = '-----delfile------> ' . date('Y-m-d H:i:s', time()) . ' User: ' . $_session . ' delete file ' . $_GET['delf'] . "\r\n";
  48. $_logs->setLog($str);
  49. }
  50.  
  51. if (isset($_GET['deld'])) {
  52. deldir($_GET['deld']);
  53. header('location: lzw.php?dir=' . $_GET['lastUrl']);
  54. $str = '-----deldir-------> ' . date('Y-m-d H:i:s', time()) . ' User: ' . $_session . ' delete dir ' . $_GET['deld'] . "\r\n";
  55. $_logs->setLog($str);
  56. }
  57. if (isset($_GET['download'])) {
  58. $download = $_GET['download'];
  59. if (!file_exists($_GET['download'])) {
  60. echo '文件不存在';
  61. exit();
  62. } else {
  63. $file = fopen($download, "r");
  64. header("Content-Type:application/octet-stream");
  65. header("Accept-Ranges:Bytes");
  66. header("Accept-Length:" . filesize($download));
  67. header("Content-Disposition:attachment;filename=" . $_GET['filename']);
  68. echo fread($file, filesize($download));
  69. fclose($file);
  70. $str = '↓↓↓download↓↓> ' . date('Y-m-d H:i:s', time()) . ' User: ' . $_session . ' download dir ' . $_GET['download'] . "\r\n";
  71. $_logs->setLog($str);
  72. exit();
  73. }
  74. }
  75. if (isset($_GET['read'])) {
  76. $content = file_get_contents($_GET['read']);
  77. exit("<textarea style='width: 100%;height: 100%;'>{$content}

php 网页版 ftp 小工具的更多相关文章

  1. jQuery实践-网页版2048小游戏

    ▓▓▓▓▓▓ 大致介绍 看了一个实现网页版2048小游戏的视频,觉得能做出自己以前喜欢玩的小游戏很有意思便自己动手试了试,真正的验证了这句话-不要以为你以为的就是你以为的,看视频时觉得看懂了,会写了, ...

  2. 网页抓取小工具(IE法)

    网页抓取小工具(IE法)—— 吴姐 http://club.excelhome.net/thread-1095707-1-1.html 用IE提取网页资料的好处在于:所见即所得,网页上能看到的信息一般 ...

  3. autoit获取ie浏览器简单操作网页(GUI小工具)

    需要稍稍熟悉一下autoti提供的语言, 我简单做了一个带GUI的小工具,实现根据IE标题点击页面内的LinkText 注意:使用时IE窗口是显示状态才可以获取到(可以在脚本中加入搜索IE句柄,将ie ...

  4. Android 发版的小工具

    Android加固包签名 我们知道自己的apk在上传市场的时候, 为了更好的包含我们的代码需要加固服务, 加固后的apk是不能直接安装的, 需要我们手动签名. 关于Android签名的知识就不在赘述了 ...

  5. jQuery网页版五子棋小游戏源码下载

    体验效果:http://hovertree.com/texiao/game/4/ 网页五子棋源代码: <!DOCTYPE html> <html> <head> & ...

  6. js 创建书签小工具之理论

    我们一直在寻找增加浏览体验的方法,有的方法众所周知,有的则鲜为人知.我原本认为书签小工具属于后者,非常令人讨厌的东西.令我非常懊恼的是我发现在这个问题上我完全是错误的.它并不是令人厌烦的,而是以用户为 ...

  7. jQuery实践-别踩白块儿网页版

    ▓▓▓▓▓▓ 大致介绍 终于结束了考试,放假回家了.这次的别踩白块儿网页版要比之前做的 jQuery实践-网页版2048小游戏 要简单一点,基本的思路都差不多. 预览:别踩白块网页版 这篇博客并不是详 ...

  8. 小白突破百度翻译反爬机制,33行Python代码实现汉译英小工具!

    表弟17岁就没读书了,在我家呆了差不多一年吧. 呆的前几个月,每天上网打游戏,我又不好怎么在言语上管教他,就琢磨着看他要不要跟我学习Python编程.他开始问我Python编程什么?我打开了我给学生上 ...

  9. 分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”

    这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业 ...

随机推荐

  1. maven配置本地仓库通用

    只要在settings.xml文件中指定仓库就可以了,然后复制仓库到任何地方都可以使用,eclipse中指定一个settings.xml就可以了 仓库的位置是.locks所在目录

  2. 数据库页已标记为 RestorePending,可能表明磁盘已损坏。要从此状态恢复,请执行还原操作。

    错误提示: 消息 829,级别 21,状态 1,第 1 行 数据库 ID 15,页 (1:21826) 已标记为 RestorePending,可能表明磁盘已损坏.要从此状态恢复,请执行还原操作. 引 ...

  3. HTML+css+html5基础+css3须知

    1.定位四种 静态定位(static):文档流默认的定位方式:一般不用写.      如果没有指定元素的position属性值,元素也就是静态定位.static是position属性的默认值,它表示块 ...

  4. 如何使用Apache log4net库与ASP.NET MVC 5日志记录

    在运行软件程序的时候,跟踪和监控日志是一种记录过程的好方法. 简介: 在运行软件程序的时候,跟踪和监控日志是一种记录过程的好方法.尤其在应用程序出错的时候,日志是我们最需要的文件.不管是在web,wi ...

  5. sql server2012 远程访问设置(转)

    转自:http://blog.csdn.net/xiadingling/article/details/8215282 步骤 打开SQL server2012,使用windows身份登录   登录后, ...

  6. 002-golang安装配置

    1.安装位置: 2.环境变量. path的值如下: 3.工作目录.

  7. django 网站的搭建(2)

    这里使用nginx+uwsgi的方法来搭建生产环境 1,pip3.5  install uwsgi 下载uwsgi ,这里就不做测试了,一般不会出错 2,将django与uwsgi连接在一起 毕竟ru ...

  8. Mybatis Generator 使用com.mysql.cj.jdbc.Driver遇到的问题

    Mybatis Generator 使用com.mysql.cj.jdbc.Driver遇到的问题 今天闲来无事,准备搭一套SSM的环境,当然所有的jar包都用最新的. Mybatis使用3.4.6, ...

  9. hdu5294 网络流+dijskstr

    题意:给你n个墓室,m条路径,一个人在1号墓室(起点),另一个人在n号墓室(终点),起点的那个人只有通过最短路径才能追上终点的那个人,而终点的那个人能切断任意路径. 第一问——终点那人要使起点那人不能 ...

  10. Sitecore CMS中更改项目的模板

    如何在Sitecore CMS中创建项目后更改项目的模板. 在创建项目时选择了错误的模板,或者创建了新模板并将现有项目更新为新模板时,这非常有用.   警告! 更改模板时要小心.如果原始模板具有不在新 ...