php文件管理基本功能简单操作


Posted in PHP onJanuary 16, 2017

(1)先要想好要操作哪个文件?

(2)确定文件的路径?

(3)要有什么文件管理功能?

一、先做一下简单的查看文件功能,文件中的文件和文件夹都显示,但是双击文件夹可以显示下一级子目录,双击“返回上一级”就可以返回到上一级目录

(1)先将需要管理的文件遍历出来,可以加个样式

<?php  
//打开目录资源
$dir = opendir($fname); 
       
//循环读取
while($n = readdir($dir)) 
{ <br>//拼个路径
$url = $fname."/".$n;<br>//没有这个条件,会有./..的这个路径
if($n!="." && $n!="..")
{
if(is_dir($url))  //判断路径是不是目录
   {
   echo "<div class='file mulu' lj='{$url}' >{$n}</div>"; //如果是目录,就进这个,起个名字,双击这个进入下一个子目录
   } 
   else
   {
   echo "<div class='file' lj='{$url}'>{$n}</div>";  //如果不是目录,就进入这个。。统一的起个名字,这样好给他们写样式
   }
}
           
}
closedir($dir); //关闭目录资源
?>

给遍历出来的目录和文件加样式 ,上面已将给他们起了名字了(样式可以随便换的)

<style type="text/css">
*{margin:0px auto; padding:0px}
.file{ width:50%; height:30px; border:1px solid #60F}
.mulu{ background-color:#639; color:#FFF}

</style>

看下结果样式: 带有背景颜色的是目录文件夹,代表下面还有文件,需要加双击事件进行下一步打开;没有背景色的就是纯文件了 

php文件管理基本功能简单操作

(2)对遍历出来的文件中的目录加事件(双击这个目录打开子目录)

<script type="text/javascript"><br> //找到这个目录,然后加双击事件
  $(".mulu").dblclick(function(){ 
  var url = $(this).attr("lj"); //点击这个目录,找到这个目录的路径
  $.ajax({ 
    url:"wjcl.php", //编写处理页面
    data:{url:url}, //将路径传到处理页面
    type:"POST", //传值方式
    dataType:"TEXT",
    success: function(data){
      window.location.href = "file_homework.php"; //刷新页面
    }
             
  })
  })
</script>

(3)处理页面的编写(这里不能用post或是get传值了,可以用session传值方式传值)

<?php
session_start(); //开启session
$url = $_POST["url"]; //接收上面传过来的url值
$_SESSION["url"]=$url; //session方式的值等于传的url值

(4)处理页面结束后,也要在主页面开启session,还要判断传值是否为空,因为刚开始管理页面时没有“返回上一级”,所以要判断一下

//要写在php的最顶端
session_start();
 
//这个要写在“打开目录资源的上面”           
if(!empty($_SESSION["url"]))
{
  $fname = $_SESSION["url"];
}

(5)输出“返回上一级”的div

$jdlj = realpath($fname); //文件的绝对路径
if($jdlj = "D:\\wamp\\www\\ajax")
{ //如果路径相等就为空 
}
else
{
  $fuji = dirname($fname); //否则就输出没有文件名的路径
  echo "<div class='file prev' lj='{$fuji}' >返回上一级</div>"; //输出这个div
}

给这个div加点样式

.prev{ background-color:#09F; color:#906}

看下结果:

第一次打开时是没有“返回上一级”这一栏的

php文件管理基本功能简单操作

当我双击任意一个文件夹的时候,进入了其子目录,就会出现“返回上一级”栏了

php文件管理基本功能简单操作

(6)既然有了这一栏,就可以利用这一栏进行返回上一级目录了,我们可以给这个div加双击事件,让其返回

$(".prev").dblclick(function(){
  var url = $(this).attr("lj"); //找到这个div<br> //处理页面和遍历目录时的处理页面是一样的
  $.ajax({
    url:"wjcl.php",
    data:{url:url},
    type:"POST",
    dataType:"TEXT",
    success: function(data){
    window.location.href = "file_homework.php"; //刷新页面
      }
  })
})

这样就可以双击返回上一级目录了。

二、再进一步管理一下文件,可以新建文件在这个文件夹中

(1)就是写个文本框,在添加个新建按钮

<input type="text" id="name" />  //文本框:起名字用的
<input type="button" value="新建" id="new" />  //新建按钮

php文件管理基本功能简单操作

(2)给按钮写单击事件

$("#new").click(function(){
  var name = $("#name").val();
  $.ajax({
    url:"newcl.php",
    data:{name:name},
    type:"POST",
    dataType:"TEXT",
    success: function(d){
    window.location.href = "file_homework.php";  //刷新页面        
      }
  })     
})

(3)新建文件的处理页面

<?php
session_start(); //开启session
$name = $_POST["name"]; //获取传递过来的名字
 
$url = $_SESSION["url"]; //保存的路径位置
 
$filename = $url."/".$name; //拼保存路径
 
touch($filename); //新建文件方法touch()
?>

结果演示一下:

php文件管理基本功能简单操作

选择一个新建位置,然后输入文件名:::新建一个you.php的文件,如图显示:

php文件管理基本功能简单操作php文件管理基本功能简单操作

三、下一个管理功能,删除不想要的文件

(1)添加删除按钮,在遍历文件那添加删除按钮

echo "<div class='file' lj='{$url}'>{$n}<input type='button' value='删除' lj='{$url}' id='delete'/></div>"; 

//起个名字,给他添加样式,可以让他好看一点,也是为了后面的添加事件

添加的样式:

#delete{ float:right}   //又浮动

删除按钮添加后的显示效果

php文件管理基本功能简单操作

(2)给按钮添加单击事件

$(".delete").click(function(){
  var lj = $(this).attr("lj"); //找到删除的文件的路径
  $.ajax({
    url:"deletecl.php", //编写删除的处理页面
    data:{lj:lj},
    type:"POST",
    dataType:"TEXT",
    success: function(a){
      window.location.href = "file_homework.php"; //刷新页面      
    }
  })
})

 (3)删除页面很简单,就是找到这个传值,用删除文件方法删除就可以

<?php
$lj = $_POST["lj"];
unlink($lj); //删除文件的方法unlink()
?>

删除也写完了,查看下效果,那么就删除我们之前新建的那个文件吧

php文件管理基本功能简单操作

文件就已经删除了~~

除了这些基本的功能外,还可以有很多的文件管理功能,后面陆续更新中。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
Session保存到数据库的php类分享
Oct 24 PHP
基于php split()函数的用法详解
Jun 05 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
Jul 03 PHP
php sybase_fetch_array使用方法
Apr 15 PHP
PHP遍历文件夹与文件类及处理类用法实例
Sep 23 PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
Sep 22 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
Oct 16 PHP
php语言的7种基本的排序方法
Dec 28 PHP
Yii2中Restful API原理实例分析
Jul 25 PHP
Zend Framework处理Json数据方法详解
Dec 09 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
Apr 27 PHP
Laravel如何同时连接多个数据库详解
Aug 13 PHP
Python中使用django form表单验证的方法
Jan 16 #PHP
phpinfo()中Loaded Configuration File(none)的解决方法
Jan 16 #PHP
php实现文件上传及头像预览功能
Jan 15 #PHP
给大家分享几个常用的PHP函数
Jan 15 #PHP
详解Yii实现分页的两种方法
Jan 14 #PHP
PHP微信分享开发详解
Jan 14 #PHP
常用PHP封装分页工具类
Jan 14 #PHP
You might like
法压式咖啡之制作法
2021/03/03 冲泡冲煮
PHP MYSQL乱码问题,使用SET NAMES utf8校正
2009/11/30 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
2013/05/27 PHP
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
2011/10/16 Javascript
不使用XMLHttpRequest实现异步加载 Iframe和script
2012/10/29 Javascript
js 在定义的时候立即执行的函数表达式(function)写法
2013/01/16 Javascript
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
node.js中的querystring.stringify方法使用说明
2014/12/10 Javascript
Bootstrap基础学习
2015/06/16 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
BootStrap中Datetimepicker和uploadify插件应用实例小结
2016/05/26 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
Angular JS数据的双向绑定详解及实例
2016/12/31 Javascript
bootstrap中的 form表单属性role=&quot;form&quot;的作用详解
2017/01/20 Javascript
JS查找英文文章中出现频率最高的单词
2017/03/20 Javascript
深入浅出es6模板字符串
2017/08/26 Javascript
JS实现的base64加密解密操作示例
2018/04/18 Javascript
微信小程序开发搜索功能实现(前端+后端+数据库)
2020/03/04 Javascript
Python下的Mysql模块MySQLdb安装详解
2014/04/09 Python
Python中处理unchecked未捕获异常实例
2015/01/17 Python
python处理html转义字符的方法详解
2016/07/01 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
Python使用pickle模块实现序列化功能示例
2018/07/13 Python
python 视频逐帧保存为图片的完整实例
2019/12/10 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
python实现人性化显示金额数字实例详解
2020/09/25 Python
Pycharm编辑器功能之代码折叠效果的实现代码
2020/10/15 Python
英国时尚饰品和发饰购物网站:Claire’s
2017/07/04 全球购物
面向游戏玩家和书呆子的极客订阅盒:Loot Crate
2020/11/25 全球购物
开办饭店创业计划书
2013/12/28 职场文书
初一科学教学反思
2014/01/27 职场文书
生物科学专业自荐书
2014/06/20 职场文书
2014年社区个人工作总结
2014/12/02 职场文书
同事离别感言
2015/08/04 职场文书
Python使用psutil库对系统数据进行采集监控的方法
2021/08/23 Python
24年收藏2000多部退役军用电台
2022/02/18 无线电