问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

有没有大神能帮用PHP写一个简易的文件管理系统呢?

发布网友 发布时间:2022-04-07 08:34

我来回答

4个回答

懂视网 时间:2022-04-07 12:56

效果图

<?php
//读取管理项目,并且展示
require_once 'lib/dir.func.php';
require_once 'lib/file.func.php';
date_default_timezone_set("PRC");
error_reporting(E_ALL&~E_NOTICE);
define('WEBROOT','webRoot');
$path=$_REQUEST['path']?$_REQUEST['path']:WEBROOT;
$act=$_REQUEST['act']?$_REQUEST['act']:'';
$dirName=$_REQUEST['dirName']?$_REQUEST['dirName']:'';
$fileName=$_REQUEST['fileName']?$_REQUEST['fileName']:'';
$info=read_directory($path);
// print_r($info);exit;
if(!is_array($info)){
 exit("<script>
 alert('读取失败');
 location.href='index.php';
 </script>");
}
//根据不同请求完成不同操作
switch($act){
 case 'createDir':
 // echo $dirName;exit;
 $res=create_dir($path.DIRECTORY_SEPARATOR.$dirName);
 if($res===true){
 $result['msg']=basename($dirName).'创建成功';
 $result['icon']=1;
 }else{
 $result['msg']=$res;
 $result['icon']=2;
 }
 exit(json_encode($result));
 break;
 case 'renameDir':
 $newName=$path.DIRECTORY_SEPARATOR.$dirName;
 $res=rename_dir($fileName,$newName);
 if($res===true){
 $result['msg']=$fileName.'重命名成功';
 $result['icon']=1;
 }else{
 $result['msg']=$res;
 $result['icon']=2;
 }
 exit(json_encode($result));
 break;
 case 'delDir':
 $res=del_dir($fileName);
 if($res===true){
 $result['msg']=basename($fileName).'删除成功';
 $result['icon']=1;
 }else{
 $result['msg']=$res;
 $result['icon']=2;
 }
 exit(json_encode($result));
 break;
 //文件部分
 case 'createFile':
 $res=create_file($path.DIRECTORY_SEPARATOR.$fileName);
 if($res===true){
 $result['msg']=basename($fileName).'文件新建成功';
 $result['icon']=1;
 }else{
 $result['msg']=$res;
 $result['icon']=2;
 }
 exit(json_encode($result));
 break;
 case 'showContents':
 $res=show_contents($fileName);
 exit($res);
 break;
}?><!DOCTYPE html><html lang="zh-cn">
 <head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <title>WEB在线文件管理器</title>
 <!-- Bootstrap -->
 <link href="css/bootstrap.min.css" rel="stylesheet">

 <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
 <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
 <!--[if lt IE 9]>
 <script src="http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
 <script src="http://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
 <![endif]-->
 </head>
 <body>
 <p class="container">
 <p class="row clearfix">
  <p class="col-md-12 column">
  <nav class="navbar navbar-default" role="navigation">
   <p class="navbar-header">
    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> <span class="sr-only">切换导航</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button> <a class="navbar-brand" href="index.php"><span class="glyphicon glyphicon-home"></span>首页</a>
   </p>

   <p class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
   <ul class="nav navbar-nav">
    <li class="active">
    <a href="javascript:void(0)" class='createDir' data-url="index.php?act=createDir&path=<?php echo $path;?>"><span class="glyphicon glyphicon-folder-open"></span>新建目录</a>
    </li>
    <li>
   <a href="javascript:void(0)" class="createFile" data-url="index.php?act=createFile&path=<?php echo $path;?>"><span class="glyphicon glyphicon-file"></span>新建文件</a>
    </li>
  <li>
    <a href="#"><span class="glyphicon glyphicon-upload"></span>上传文件</a>
    </li>
  <li>
    <a href="#"><span class="glyphicon glyphicon-info-sign"></span>系统信息</a>
    </li>
    </ul>
    </li>
   </ul>
   <form class="navbar-form navbar-left" role="search">
    <p class="form-group">
    <input type="text" class="form-control" />
    </p> <button type="submit" class="btn btn-default">搜索</button>
   </form>
   </p>

  </nav>
  <p class="jumbotron nofollow">
   <h1>
   WEB在线文件管理器   </h1>
   <p>
  WEB在线文件管理器主要是用于管理项目文件,实现在线编辑、修改、删除等操作。   </p>
   <p>
   <a class="btn btn-primary btn-large" href="#">查看更多 ?</a>
   </p>
  </p>
  <table class="table table-bordered table-hover table-condensed">
   <thead>
   <tr>
    <th>
    类型    </th>
    <th>
    名称    </th>
    <th>
    读/写/执行    </th>
    <th>
    访问时间    </th>
  <th>
   操作  </th>
   </tr>
   </thead>
   <tbody>
  <!-- 目录部分 -->
  <?php
  if(is_array($info['dir'])){
  foreach($info['dir'] as $val){  ?>
  <tr class="success">
  <td><span class="glyphicon glyphicon-folder-close"></span></td>
  <td><?php echo $val['showName'];?></td>
  <td>
   <span class="glyphicon <?php echo $val['readable']?'glyphicon-ok':'glyphicon-remove';?>"></span>
   <span class="glyphicon <?php echo $val['writable']?'glyphicon-ok':'glyphicon-remove';?>"></span>
   <span class="glyphicon <?php echo $val['executable']?'glyphicon-ok':'glyphicon-remove';?>"></span>
  </td>
  <td><?php echo $val['atime'];?></td>
  <td>
   <a href="index.php?path=<?php echo $val['fileName'];?>" class='btn btn-primary btn-sm'>打开</a>
   <a href="javascript:void(0)" class='btn btn-primary btn-sm renameDir' data-url='index.php?act=renameDir&fileName=<?php echo $val['fileName'];?>&path=<?php echo $path;?>' data-showName='<?php echo $val['showName'];?>'>重命名</a>
   <a href="#" class='btn btn-primary btn-sm'>剪切</a>
   <a href="#" class='btn btn-primary btn-sm'>复制</a>
   <a href="javascript:void(0)" class='btn btn-danger btn-sm delDir' data-url='index.php?act=delDir&fileName=<?php echo $val['fileName'];?>&path=<?php echo $path;?>' data-showName='<?php echo $val['showName'];?>'>删除</a>
  </td>
  </tr>
  <?php
  }
  }  ?>

  <!-- 文件部分 -->
  <?php
  if(is_array($info['file'])){
  foreach($info['file'] as $val){  ?>
  <tr class="warning">
  <td><span class="glyphicon glyphicon-file"></span></td>
  <td><?php echo $val['showName'];?></td>
  <td>
   <span class="glyphicon <?php echo $val['readable']?'glyphicon-ok':'glyphicon-remove';?>"></span>
   <span class="glyphicon <?php echo $val['writable']?'glyphicon-ok':'glyphicon-remove';?>"></span>
   <span class="glyphicon <?php echo $val['executable']?'glyphicon-ok':'glyphicon-remove';?>"></span>
  </td>
  <td><?php echo $val['atime'];?></td>
  <td>
   <a href="#" class='btn btn-primary btn-sm showContents' data-url="index.php?act=showContents&fileName=<?php echo $val['fileName'];?>&path=<?php echo $path;?>">查看</a>
   <a href="#" class='btn btn-primary btn-sm'>编辑</a>
   <a href="#" class='btn btn-primary btn-sm'>下载</a>
   <a href="#" class='btn btn-primary btn-sm'>重命名</a>
   <a href="#" class='btn btn-primary btn-sm'>剪切</a>
   <a href="#" class='btn btn-primary btn-sm'>复制</a>
   <a href="#" class='btn btn-danger btn-sm'>删除</a>
  </td>
  </tr>
  <?php
  }
  }  ?>
   </tbody>
  </table>
  </p>
 </p>
 </p>


 <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
 <script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script>
 <!-- Include all compiled plugins (below), or include inpidual files as needed -->
 <script src="js/bootstrap.min.js"></script>
 <script src="layer/layer.js"></script>
 <script src="js/dir.js"></script>
 <script src="js/file.js"></script>
 </body></html>

目录函数文件 dir.func.php

<?php/**
 * 读取目录下的信息返回
 * @method read_directory
 * @param string  $path 目标目录
 * @return mixed  false|array */function read_directory(string $path){ if(!is_dir($path)){ return false;
 } $info=[]; $handle=opendir($path); while(($item=@readdir($handle))!==false){ if($item!='.'&&$item!='..'){ $filePath=$path.DIRECTORY_SEPARATOR.$item; $info['fileName']=$filePath; $info['showName']=$item; $info['readable']=is_readable($filePath)?true:false; $info['writable']=is_writable($filePath)?true:false; $info['executable']=is_executable($filePath)?true:false; $info['atime']=date('Y/m/d H:i:s',fileatime($filePath)); if(is_file($filePath)){ $arr['file'][]=$info;
 } if(is_dir($filePath)){ $arr['dir'][]=$info;
 }
 }
 } closedir($handle); return $arr;
}/**
 * 创建目录
 * @method create_dir
 * @param string $path 目录名称
 * @return mixed  true|string */function create_dir(string $path){ if(is_dir($path)){ return $path.'当前目录已存在同名文件';
 } if(!mkdir($path,755,true)){ return $path.'目录创建失败';
 } return true;
}/**
 * 重命名目录
 * @method rename_dir
 * @param string $oldName 原目录
 * @param string $newName 新名称
 * @return mixed  string|true */function rename_dir(string $oldName,string $newName){ if(!is_dir($oldName)){ return '原目录不存在';
 } if(is_dir($newName)){ return '当前目录下存在同名文件';
 } if(!rename($oldName,$newName)){ return '重命名失败';
 } return true;
}/**
 * 删除目录
 * @method del_dir
 * @param string $path 目录名称
 * @return mixed true|string */function del_dir(string $path){ if(!is_dir($path)){ return '目录不存在';
 } $handle=opendir($path); while(($item=@readdir($handle))!==false){ if($item!='.'&&$item!='..'){ $pathName=$path.DIRECTORY_SEPARATOR.$item; if(is_file($pathName)){
 @unlink($pathName);
 } if(is_dir($pathName)){ $func=__FUNCTION__; $func($pathName);
 }
 }
 } closedir($handle); rmdir($path); return true;
}

文件函数 file.func.php

<?php/**
 * 创建文件
 * @method create_file
 * @param string $fileName 文件名称
 * @param array $allowExt 允许的文件类型
 * @return mixed  true|string */function create_file(string $fileName,$allowExt=array('txt','html','php')){ if(is_file($fileName)){ return '当前目录下存在同名文件';
 } $ext=strtolower(pathinfo($fileName,PATHINFO_EXTENSION)); if(!in_array($ext,$allowExt)){ return '非法文件类型';
 } if(!touch($fileName)){ return '文件创建失败';
 } return true;
}/**
 * 查看文件内容
 * @method show_contents
 * @param string $fileName 文件名称
 * @param array  $allowExt 允许的类型
 * @return string   文件内容 */function show_contents(string $fileName,$allowExt=array('jpg','jpeg','png','gif','txt','html','php')){ if(!is_file($fileName)){ return '文件不存在';
 } $ext=strtolower(pathinfo($fileName,PATHINFO_EXTENSION)); if(!in_array($ext,$allowExt)){ return '非法文件类型';
 } //检测是否是真实图片
 if(getimagesize($fileName)){ $res="<img src='{$fileName}' class='img-responsive'/>";
 }else{ $str=file_get_contents($fileName); if(strlen($str)>0){ $res=highlight_string($str,true);
 }else{ $res='文件中没有内容';
 }
 } return $res;
}

本文来自Gxlcms,php教程栏目,欢迎学习!

热心网友 时间:2022-04-07 10:04

我只能告诉你,这种需求是收费的,并且还不便宜哦。。

热心网友 时间:2022-04-07 11:22

http://www.php-open.com/追问没看到有合适的呀

热心网友 时间:2022-04-07 12:56

收费,是不便宜
做企业网站是asp的好优化还是php的好优化

建议选择PHP,优化方面来说,两个都差不多,但是PHP相对安全性高,因为ASP的团队已经停止维护ASP了,PHP是开源免费的,每年仍然有很多大神在不断完善这个程序。 PHP还有很多现成免费的CMS框架 ,比如织梦CMS 帝国CMS等,做站成本低,容易维护~ 什么是企业网站优化 企业网站做SEO优化的好处 企业网站就是在注册的时候就注册的...

PHP学生成绩管理系统综合实验报告

回答:一、实验目的:1、掌握PHP基本语法及应用。2、掌握SESSION和COOKIE的使用。3、掌握使用PHP和页面进行交互。4、掌握PHP图像处理应用。5、掌握MySQL数据库的使用及使用PHP操作MySQL数据库。6、了解系统开发的其他工具及语言。7、掌握系统开发的基本流程。二、实验设备及环境:硬件:多媒体计算机软件:Windows...

作为程序员的你,常用的软件有哪些?

这个就非常多了,不同数据库都有专门的管理软件和工具,这里简单介绍3个比较通用的数据库管理软件,分别是HeidiSQL、DBeaver和DataGrip,对于日常使用来说,非常不错: 这是Windows平台下一个非常轻巧灵活的数据库管理软件,基于Delphi开发而来,目前支持MySQL、MariaDB、MSSQL、PostgreSQL等主流数据库,常见的建库建表、视图索...

用c++开发一个简易的高校人员信息管理系统,原创,发到邮箱945095439@QQ.c...

//框架是这样,没时间写,同学自己看看书吧.

要成为一名专业的程序员,从零开始需要怎么一步步来比较好,要把最底层...

1、 学习一门脚本语言,例如Python/Ruby可以让你摆脱对底层语言的恐惧感,脚本语言可以让你很快开发出能用得上的小程序。实践项目:处理文本文件,或者csv (关键词 python csv, python open, python sys) 读一个本地文件,逐行处理(例如 word count,或者处理log)遍历本地文件系统 (sys, os, path),例如写一个程序...

求php大神帮帮忙,用php写的网页怎么实现用户进入网页后,10分钟后自动播...

js可能会比较难一点,不过php也是可以的。思路大概是这样的,首先用户访问网站的时候,php获取当前时间,然后再做一个当前时间+10 的(这个好像是要转成秒数) 最后就是if来判断,这个方法不知道行不行,我没试过,你自己试试,不懂再问下 ...

如何自己制作网站如何建一个自己的网站

1.付费建网站:付费找懂网站建设的人帮你建网站。这是最省时省力的方法,花钱就能做到。2.代码建站法:你自己学会写代码之后,给自己建一个网站。这是最费时费力的方法。入门需要一两年,精通需要三五年,因为你需要学习html、css、js、php等这样难的代码。才可以自己建网站。3.网站建设系统。建站方法:...

php新手如何入门

(5)不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板(6)完成一个功能齐全的动态站点我的这套线路可能跟许多学习PHP的爱好者不谋而合,这也算是一个循序渐进的学习过程,不过新手不要看到上面的概括就以为学习蛮简单的,在此不得不对您稍微泼一下冷水,任何东西其实都不简单,即使是小吃部的烧饼也不...

我搭建的phpcms,用户访问的话界面显示不全。是什么情况?请各位大神帮...

先说楼下的回答,phpcms是开源系统,所以不用考虑zend加密,另外phpcms运行要求的php版本并不高,5.3及以上都可以。那么我来分析几点可能的原因,希望对你有帮助:确保你安装的phpcms网站能够正常连接到数据库,如果不能连接当然在页面中需要读取数据的地方就会报错(一般是一个mysql错误信息)从而导致程序...

...也买了空间.就是不知道怎么安装WP,越详细越好.请各位大神帮...

3 创建数据库(你的空间是不是带MYSQL数据库的PHP空间。一般购买空间都赠送一个数据库。假如有了,可以跳过本步)在MySQL中使用phpMyAdmin或者其他用户创建一个MySQL数据库,这个数据库用于保存WordPress的数据。4、运行安装程序 第一次运行上传的文件,WordPress系统会检测根目录下是否存在wp-config.php,...

有没有简易灯光 有没有简易门锁 简单容易写的字 用记事本写简易游戏 简易软件 如何自制一把简易扣锁 用绳子自制简易门锁 简易的门锁制作视频 写起来比较简单的字
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
四大银行有哪几个银行 广西有什么银行网点 【米色】淘宝店鼠标经过图片旋转180度效果分析,附源码下载 求吉林交通文艺台午夜大篷车主持人会风和王阔以前主持节目的MP3录音 吉林交通文艺台播音主持介绍 我想转账给一个朋友,他给了我一个账户,但我不知道他的地址,银行可以查 ... 如何在iPhone上通过快捷指令设置充电提示音? iPhone充满电之后,如何设置才能有提示音? 别人向我网上汇款时,可以只告诉他我的账号和名字〔不告诉姓〕吗?事因... 提款机怎么转账???为什么输入对方账号不显示对方姓名。我是第一次用提... 作文那一刻我真后悔 《那一次,我真后悔》500字作文怎么写 那一次,我真的很后悔的作文 那一次我真后悔500字初二作文 作文《那一次我真后悔》500含景物描写 七年级上册二单元作文那一次我真后悔三四百字的作文 那一次,我后悔了的作文怎么写400 中国石油股价为什么会一直下跌? 油价为什么会下跌 为什么现在的油价连续跌价十多次啊? 油价连续下跌的原因 双十一红包怎么每天都扣门票款,是什么意思 男人在双十一这天发红包10.01是表示什么意义 原油价格为什么一路下跌? 今年11.11 有个男的给我发11.11红包 说最后一次的节日快乐 啥意思呀? 假如双十一给喜欢的女生发11.11元红包会代表什么意思呢? 今天是双十一,有人给我发18.18元的红包,啥意思啊? 堂妹双十一的时候给我发了0.52红包是什么意思 关于淘宝双十一红包 双十一锦鲤红包有什么用 笔记本电脑usb怎么连接打印机驱动 商铺usb打印机可以同时连接电脑和手机吗? 复印机怎么用啊?怎么和电脑手机连接? 项目评估的内容有哪些? kk姐是哪里人 大红袍的小包装一般包多少克 我想咨询上海正夷茶业 大红袍一般人每日喝几克合适? 怎么添加可见单元格 我想咨询武夷山正夷茶业 ,喝多少克大红袍比较合适 每一天? 爱奇艺自动续费怎么退回费? 大红袍的热量 WPS表格怎么设置可见单元格 大红袍现在年产量是多少? excel2013选定可见单元格 手机QQ群个性名片格式不一样怎么改? QQ资料卡的模板怎么改成这种样式 QQ名片怎么改? 怎么修改qq名片版式 怎么改QQ个性资料卡模式 准爸爸宣布怀孕的创意句子有哪些?