这篇文章通过实例代码给大家讲解了php文件管理与基础功能的实现,非常不错,具有参考借鉴价值,需要的朋友参考下

文件的基本操作

先来看一下PHP文件基础操作,请看强大注释

var_dump(filetype("./img/11.png"));

//判断返回得是文件还是目录,返回sile为文件,dir为目录(文件夹)

var_dump(is_dir("./img/11.png"));

//判断给的文件是不是一个目录,目录为ture,文件为false

var_dump(is_file("./img"));

//判断是否为文件,同上

var_dump(date("Y-m-d H:i:s",fileatime("./img/11.png")));

//上次访问时间

var_dump(date("Y-m-d H:i:s",filectime("./img/11.png")));

//创建时间

var_dump(date("Y-m-d H:i:s",filemtime("./img/11.png")));

//修改时间

var_dump(filesize("./img/11.png"));

//获取文件大小

var_dump(file_exists("/QQPCMgr/www/wenjian/img/22.png"));

//在php里面根/则是磁盘

echo $_SERVER['DOCUMENT_ROOT'];

//获取到服务器根路径

echo basename("/QQPCMgr/www/wenjian/img/22.png");

//返回22.png带后缀的文件名

echo basename("/QQPCMgr/www/wenjian/img/22.png",".png");

//扔上后缀之后只显示文件名(获取文件名)

echo dirname("/QQPCMgr/www/wenjian/img/22.png");

//返回的是不包含文件名的路径(获取文件名以上的)

var_dump(pathinfo("/QQPCMgr/www/wenjian/img/22.png"));

//这个获取的很全面,都能获取到

echo realpath("./img/11.png");

//真实路径:可以把相对路径转换为绝对路径

var_dump(glob("./ce/*"));

//取到这个文件夹里所有的文件,加后缀为条件

?>

文件整体操作:

//touch("./11.txt");

//创建文件

//copy("11.txt","./ce/11.txt");

//复制文件

//unlink("./11.txt");

//删除文件

//echo file_get_contents("./ce/11.txt");本地

//echo file_get_contents("http://www.baidu.com");远程

//读取文件所有内容

//file_put_contents("./11.txt","Myshao");

//往文件里面存储内容

//readfile("./11.txt");

//读取并输出

//$arr = file("./shouye.php");

//var_dump($arr);

//读取文件内所有内容,并扔到数组显示

//$ff = fopen("./11.txt","a");

//打开文件资源,详情见注1;

//echo fgetc($ff);

//读取一个字符

//echo fgets($ff);

//读取一行字符

//echo fread($ff,2);

//规定读多长

//fwrite($ff,"shao");

//写入内容

注1:打开和读取文件

php使用fopen()函数的方式,语法结构如下

Resource fopen (string $filename,string $mode)Filename是目标文件名,打开本地文件也可以打开远程文件,打开远程文件需要采用http://...形式,假如目标文件在

ftp服务器上,则采用形式ftp://...。

参数mode是目标文件打开形式,参数$mode是可以接收的模式。

文件打开方式表:

目录资源的打开与关闭:但凡有开就有关,否则会影响到后面的删除等操作;

$fname = "./ce/gf";

$d = opendir($fname);

//打开文件资源

while ($url = readdir($d))

{

echo $fname."/".$url."
";

// 仅读取文件名,把路径拼上=完整路径

}

var_dump(glob("./*"));

closedir($d);

//关资源

以上就是一些基础的语句了,来做点练习:

例:返回一个文件夹下的所有文件数量;

如果想要计算出ajax目录下有多少的文件,可以用下面封装的方法shu()来遍历目录,可以计算出ce目录下其他的文件夹里面的文件的总和,

function shu($url)

{

$sl = 0;

$arr = glob($url);

//循环遍历

foreach($arr as $v)

{

//判断是不是一个文件

if(is_file($v))

{

//如果是一个文件+1

$sl++;

}

else

{

$sl +=shu($v."/*");

}

}

return $sl;

}

echo shu("./ce/*");

//最后给方法一个路径进行查找

?>

看一下输出:

再来一个!

例:删除文件

$fname = "./ce/gf";

$d = opendir($fname);

//打开文件资源

while ($url = readdir($d))

{

echo $fname."/".$url."
";

// 仅读取文件名,把路径拼上=完整路径

}

var_dump(glob("./*"));

closedir($d);

//关资源

//删除文件夹(非空文件夹)

function shan($url)

{

// 清空文件夹

$d = opendir($url);

// 打开

while ($u = readdir($d))//$u现在是文件名

{

// 排除...

if($u!="." && $u!="..")

{

$fname = $url . "/" . $u;

//完整带路径的文件名

if (is_file($fname))//如果是一个文件

{

unlink($fname);

} else //如果是一个文件夹

{

shan($fname);

}

}

}

closedir($d);

//关闭

rmdir($url);

}

shan("./122");

?>

这样122目录里面所有的东西,不管是文件夹还是文件都会被删除;

实现文件管理功能

1.先把查看文件的功能做出来,让他把所有的文件与文件夹啊显示出来;

//定义文件目录

$fname = "./ce";

//便利目录下的所有文件显示

$arr = glob($fname."/*");

foreach ($arr as $v)

{

//从完整路径中取文件名

$name = basename($v);

echo "

{$name}

";

}

?>

图:

接下来给文件夹特殊显示一下把:

输出之前需要判断,判断是不是一个文件夹:

//从完整路径中取文件名

$name = basename($v);

if(is_dir($v)){

echo "

{$name}

";

}

else {

echo "

{$name}

";

}

如果是个文件夹,给他背景颜色改变一下就好啦

图:

2.给文件夹添加双击事件:

双击实现进入这个目录;

js代码:

$(".dir").dblclick(function(){

var url = $(this).attr("url");

$.ajax({

url:"chuli.php",

data:{url:url},

type:"POST",

dataType:"TEXT",

success:function(data)

{

window.location.href="wenwen.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;

}

});

})

处理页面:

session_start();

$url = $_POST["url"];

$_SESSION["fname"] = $url;

这样就可以实现双击进入此文件夹:

3.返回上一级,找到上一级目录,写个p

$pname = dirname($fname);

echo "

返回上一级

";

图:

写双击事件:

$("#shang").dblclick(function(){

var url = $(this).attr("url");

$.ajax({

url:"chuli.php",

data:{url:url},

type:"POST",

dataType:"TEXT",

success:function(data)

{

window.location.href="wenwen.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;

}

});

})

返回到文件目录后使其隐藏:

//上一级的目录

$pname = dirname($fname);

if(realpath($fname)=="F:\\QQPCMgr\\WWW\\wenjian")

{}

else {

echo "

返回上一级

";

}

这样的话当我返回到wenjian目录的时候,使其隐藏:

4.删除功能

在文件p里面加删除按钮:

echo "

{$name}

来写按钮的点击事件:

js代码:

$(".sc").click(function(){

//确认删除提示

var av = confirm("确定要删除");

if(av){

var url = $(this).attr("url");

$.ajax({

url: "shan.php",

data: {url: url},

type: "POST",

dataType: "TEXT",

success: function (data) {

window.location.href = "wenwen.php";

}

});

}

})

删除的处理页面:

$url = $_POST["url"];

unlink($url);

这样完成后,当我点击删除:

再点击确定,即可删除

总代码:

管理查看页面:

无标题文档

.item{

width: 500px; height: 30px; border: 1px solid slateblue;

background-color: aquamarine;

line-height: 30px;

}

.dir{

background-color: chocolate; color: aliceblue;

}

#shang{

width: 500px; height: 30px; border: 1px solid slateblue;

background-color: brown;color: aliceblue;

line-height: 30px;

}

session_start();

//定义文件目录

$fname = "./ce";

if(!empty($_SESSION["fname"]))

{

//如果session里面的不为空

$fname = $_SESSION["fname"];

}

//上一级的目录

$pname = dirname($fname);

if(realpath($fname)=="F:\\QQPCMgr\\WWW\\wenjian")

{}

else {

echo "

返回上一级

";

}

//便利目录下的所有文件显示

$arr = glob($fname."/*");

foreach ($arr as $v)

{

//从完整路径中取文件名

$name = basename($v);

if(is_dir($v)){

echo "

{$name}

";

}

else {

echo "

{$name}

}

}

?>

$(".dir").dblclick(function(){

var url = $(this).attr("url");

$.ajax({

url:"chuli.php",

data:{url:url},

type:"POST",

dataType:"TEXT",

success:function(data)

{

window.location.href="wenwen.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;

}

});

})

$("#shang").dblclick(function(){

var url = $(this).attr("url");

$.ajax({

url:"chuli.php",

data:{url:url},

type:"POST",

dataType:"TEXT",

success:function(data)

{

window.location.href="wenwen.php" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ;

}

});

})

$(".sc").click(function(){

//确认删除提示

var av = confirm("确定要删除");

if(av){

var url = $(this).attr("url");

$.ajax({

url: "shan.php",

data: {url: url},

type: "POST",

dataType: "TEXT",

success: function (data) {

window.location.href = "wenwen.php";

}

});

}

})

处理:

session_start();

$url = $_POST["url"];

$_SESSION["fname"] = $url;

删除:

$url = $_POST["url"];

unlink($url);

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关推荐:

用php实现基本功能,php实现文件管理与基础功能操作的方法相关推荐

  1. php实现文件夹管理器,php实现文件管理与基础功能操作

    文件的基本操作 先来看一下PHP文件基础操作,请看强大注释 var_dump(filetype("./img/11.png")); //判断返回得是文件还是目录,返回sile为文件 ...

  2. php实现浏览文件夹按钮,php实现文件管理与基础功能操作

    php实现文件管理与基础功能操作2020-06-17 11:59:15 文件的基本操作 先来看一下PHP文件基础操作,请看强大注释 var_dump(filetype("./img/11.p ...

  3. 小米手机系统服务组件是干什么的_怎么查看小米手机MIUI系统的基本功能-小米手机MIUI系统基础功能查询方法讲解...

    小米手机是国产品牌手机中口碑较好的手机之一,受到大家的喜爱,配置功能丰富,价格实惠.亲们或许都不知道怎么查看小米手机MIUI系统的基本功能,小编很高兴为大家解决这个问题,接下来就为大家奉上小米手机MI ...

  4. MyBatis Demo 编写(1)基础功能搭建

    简介 在Mybatis3的源码解析系列中,我们对其核心功能有了一定的了解,下面我们尝试简单写一下Demo,让其有简单的Mybatis的一些核心功能,本篇是基础功能的搭建 Dome 编写 完整的工程已放 ...

  5. 2.2.1 MySQL基本功能与参数文件管理

    MySQL基本功能与参数文件管理 MySQL 数据库文件分类介绍 redolog undolog binlog(复制时还有 relaylog) errorlog querylog slowlog da ...

  6. win10文件显示后缀名_手机必装!百度家的万能文件管理器,功能强大无广告!...

    不做深度指南,只愿浅度指北使用安卓的朋友应该都知道,这款强大的文件浏览器,在我之前的推文中,介绍了如何使用 ES 共享电脑中的视频,有小伙伴评论竟然还有这样的功能:那么,今天,小北就介绍一下它强大的功 ...

  7. 安卓手机管理器_MiXplorer,简洁又多功能的安卓文件管理器

    在新的一年里,愿大家在心底一年里都快快乐乐的!感谢你来到找喵喵了!且听找喵喵聊聊骚.今天找喵喵为你们带来猫粮是MiXplorer. 大家用过ES文件浏览器的都知道,是一款功能多多的本地文件管理器,方便 ...

  8. 餐饮系统店家后端基础功能构建

    j3_liuliang 快捷餐饮系统基本构建,好的项目基础可以事半功倍哦! 项目相关文章导航: 快捷点餐项目简介 餐饮系统设计概括 餐饮系统店家后端基础功能构建 快捷餐饮之店家后台OSS文件管理实现 ...

  9. 收藏功能_微信强大的收藏功能,你们用了吗?

    在中国说到即时聊天工具,就得说到微信和QQ了,他们都是腾讯旗下的产品,今天麦叔要和大家聊的是微信,去年官方数据显示微信用户已超过10亿,庞大用户群体在使用它,但它的一些功能并不是每个人都会知道,今天麦 ...

  10. 完爆Facebook/GraphQL,APIJSON全方位对比解析(一)-基础功能

    相关阅读: 完爆Facebook/GraphQL,APIJSON全方位对比解析(二)-权限控制 完爆Facebook/GraphQL,APIJSON全方位对比解析(三)-表关联查询 自APIJSON发 ...

最新文章

  1. BZOJ 1003 物流运输trans dijstra+dp
  2. 谈谈eclipse使用技巧一
  3. 记一次在LAMP中遇到的问题
  4. centos7启动与切换图形界面
  5. linux 查看文件哈希码,使用linux的sha1sum命令查看效验文件哈希值命令
  6. 汇编语言实现led灯的跑马灯
  7. 向右滑动返回Activity
  8. How To Install IonCube Loader
  9. python的for语句要用冒号吗_python中循环的写法 for
  10. 对象可以创建数组吗_电脑零基础可以学习创建网站吗?
  11. 银行家算法检测死锁c语言,[算法]操作系统进程调度与通信算法 Dijkstra银行家算法 C语言实现 | 李大仁博客...
  12. 使用PS创造非凡动物形象
  13. BUUCTF------相册
  14. 测试打印机性能的软件,打印机检测软件Printer Check
  15. win10无法修改mac地址_电脑MAC地址(物理地址)修改方法
  16. Python使用Regular入门
  17. 光纤耦合系统的公差分析
  18. 恒星日和太阳日【转载】
  19. 华为模拟器eNSP练习题-静态路由、缺省路由
  20. 电脑WIN XP蓝屏错误代码大全

热门文章

  1. 【网络基础】通俗易懂的搞明白什么是IP地址(小白向)
  2. HTML+CSS三栏式布局(7种)
  3. camera 测光模式 和 实际应用
  4. 从天使到A轮融资:创业者要迈过的9大生死关
  5. 宏基品牌机 win7 系统激活
  6. JAVA生成随机昵称
  7. Unity Shader 法线贴图原理解析
  8. Unity Shader零基础入门4:纹理贴图与法线贴图
  9. MyBatis 的一级缓存与二级缓存
  10. Android Behavior之ViewPager+Fragment+RecyclerView实现吸顶效果