php实现文件管理与基础功能操作

文件的基本操作

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

<body> <?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/*")); //取到这个文件夹里所有的文件,加后缀为条件 ?> <!--<img src="/wenjian/img/11.png" />--> <!--在网页里根/代表的是www目录--> </body>

文件整体操作:

<?php //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是可以接收的模式。

文件打开方式表:

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

<?php $fname = "./ce/gf"; $d = opendir($fname); //打开文件资源 while ($url = readdir($d)) { echo $fname."/".$url."<br/>"; // 仅读取文件名,把路径拼上=完整路径 } var_dump(glob("./*")); closedir($d); //关资源

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

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

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

<?php 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/*"); //最后给方法一个路径进行查找 ?>

看一下输出:

再来一个!

例:删除文件

<?php $fname = "./ce/gf"; $d = opendir($fname); //打开文件资源 while ($url = readdir($d)) { echo $fname."/".$url."<br/>"; // 仅读取文件名,把路径拼上=完整路径 } 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.先把查看文件的功能做出来,让他把所有的文件与文件夹啊显示出来;

<body> <?php //定义文件目录 $fname = "./ce"; //便利目录下的所有文件显示 $arr = glob($fname."/*"); foreach ($arr as $v) { //从完整路径中取文件名 $name = basename($v); echo "<div class='item' url='{$v}'>{$name}</div>"; } ?> </body>

图:

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

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

//从完整路径中取文件名 $name = basename($v); if(is_dir($v)){ echo "<div class='item dir' url='{$v}'>{$name}</div>"; } else { echo "<div class='item' url='{$v}'>{$name}</div>"; }

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

图:

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

双击实现进入这个目录;

js代码:

<script> $(".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" ; } }); }) </script>

处理页面:

<?php session_start(); $url = $_POST["url"]; $_SESSION["fname"] = $url;

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

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

$pname = dirname($fname); echo "<div id='shang' url='{$pname}'>返回上一级</div>";

图:

写双击事件:

<script> $("#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" ; } }); }) </script>

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

//上一级的目录 $pname = dirname($fname); if(realpath($fname)=="F:\\QQPCMgr\\WWW\\wenjian") {} else { echo "<div id='shang' url='{$pname}'>返回上一级</div>"; }

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

4.删除功能

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

echo "<div class='item' url='{$v}'>{$name} <input type='button' value='删除' url='{$v}' class='sc'/> </div>";

来写按钮的点击事件:

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"; } }); } })

删除的处理页面:

<?php $url = $_POST["url"]; unlink($url);

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

再点击确定,即可删除

总代码:

管理查看页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script src="jquery-1.11.2.min.js"></script> <style> .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; } </style> </head> <body> <?php session_start(); //定义文件目录 $fname = "./ce"; if(!empty($_SESSION["fname"])) { //如果session里面的不为空 $fname = $_SESSION["fname"]; } //上一级的目录 $pname = dirname($fname); if(realpath($fname)=="F:\\QQPCMgr\\WWW\\wenjian") {} else { echo "<div id='shang' url='{$pname}'>返回上一级</div>"; } //便利目录下的所有文件显示 $arr = glob($fname."/*"); foreach ($arr as $v) { //从完整路径中取文件名 $name = basename($v); if(is_dir($v)){ echo "<div class='item dir' url='{$v}'>{$name}</div>"; } else { echo "<div class='item' url='{$v}'>{$name} <input type='button' value='删除' url='{$v}' class='sc'/> </div>"; } } ?> <script> $(".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"; } }); } }) </script> </body> </html>

处理:

<?php session_start(); $url = $_POST["url"]; $_SESSION["fname"] = $url;

删除:

<?php $url = $_POST["url"]; unlink($url);

以上所述是小编给大家介绍的php实现文件管理与基础功能操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

时间: 2024-10-25 15:54:07

php实现文件管理与基础功能操作的相关文章

《SAP CRM管理与实施指南》一一第2章 SAP CRM基础数据与基础功能

第2章 SAP CRM基础数据与基础功能 基础数据也称主数据,是整个CRM系统的基础,是系统运行的基石,被多个模块共同使用.基础数据中有诸多信息对流程和功能起着决定性的控制作用,比如合作伙伴关系.角色.销售视图数据及服务类数据均在相关流程中体现和应用.而在诸多流程和应用中均会用到一些基础功能,如业务合作伙伴处理.业务事务处理.定价.日期管理.操作及文本等.本章介绍SAP CRM中常用的基础数据和基础功能.项目实施中,主数据有时未受到足够的重视,这会导致一些问题,比如应用后未达成理想的效果.使用不

ColdFusionMX 编程指南 基础管理操作以及入门程_ColdFusion

第二期:基础管理操作以及入门程序 序言 在讲解ColdFusion MX的基础管理操作以及入门程序之前,先来了解一下ColdFusion MX各种版本之间的差别.ColdFusion MX目前分为商用版本和开发者版本两部分,而商用版本又包括专业版和企业版两种.顾名思义,开发者版本是提供给开发者个人使用的版本,该版本在功能上做了一些限制.比如使用开发者版本的ColdFusion MX Server在同时访问的ip上做了限制,还有就是没有Macromedia Cluster的支持(web均衡负载),

《SAP CRM管理与实施指南》一一2.2 SAP CRM基础功能

2.2 SAP CRM基础功能 本节介绍SAP CRM的一些基础的通用功能,主要包括合作伙伴处理.业务事务处理.定价与条件技术.日期管理.CRM的操作管理.文本管理及调查问卷管理等.这些功能在销售.服务及营销等各种业务流程中均被广泛使用,具有很强的通用性.2.2.1 合作伙伴处理业务处理中,通常有多种类型的合作伙伴参与各类业务,并承担着不同的功能,如负责员工.销售经理.潜在客户及联系人等.合作伙伴处理指确定事务处理中可用的合作伙伴职责功能.确定参与的合作伙伴以及设定对合作伙伴的控制.1.?合作伙

微软在线模拟网站上线 展示WP 8.1功能操作

微软 在线模拟网站上线 展示WP 8.1 功能操作相比于功能缺失严重的WindowsPhone8系统,全新WindowsPhone8.1正式版本带来了不少新增功能及特性.虽然微软最 新的移动平台还没有达到完美状态,但它目前至少在 诸多方面已经可以和竞争对手并驾齐驱.微软第一批WP8.1设备目前已经上市发售,而WP8.1正式版本更新也已在最近开始全球推送.全世界数百万计WP用户已经或即将可以在他 们的设备上体验全新平台带来的升级体验,然而大多数用户可能并不了解WP8.1正式版本中令人印象深刻的许多

Windows mobile手机的一些基本功能操作

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   随着手机3G的发展,智能手机在国内也越来越被普及.对于刚刚接触智能手机的人群来说,起初的操作比较繁琐,今天小编就为大家介绍一下Windows mobile手机的一些基本功能操作. 如何将喜欢的歌设为铃声 Windows mobile手机的手机铃声和短信铃声支持wma/wav/midi/mp3格式文件.在手机存储卡上建立一个"My Documents&q

史颉华:做硬件创新一定要做基础功能

12月28日消息,由科通芯城主办的"硬蛋·i未来硬件大赛"启动会今天在北京京仪大厦举行,网易科技做为独家合作门户在现场直播报道. 主推开源硬件产业的实践者史颉华在演讲时表示,其实创业.创新没有任何的关系.http://www.aliyun.com/zixun/aggregation/33436.html">硬件创新首先是对一款硬件在原有产品上的升级,做硬件创新一定要做基础功能,对自己公司业务的改进,而不是发明. 史颉华: 今天是受邀过来讲一下,我今天到底讲什么呢?简单写

有道云笔记Mac版上线,保留Windows版基础功能

摘要: 就在今年6月份,有道云笔记产品负责人蒋炜航曾透露说Mac版会于年内上线,近日我们看到这一宣言正式落实. 有道云笔记的Mac版与Windows版一样,支持包括图文混排在内的各类型笔记的 就在今年6月份,有道云笔记产品负责人蒋炜航曾透露说Mac版会于年内上线,近日我们看到这一宣言正式落实. 有道云笔记的Mac版与Windows版一样,支持包括图文混排在内的各类型笔记的创建,并可添加多种格式的附件.笔记可以同步云端,支持在网页.Windows.移动端等多平台下编辑.云端存储空间为2G,基本满足

如何使用微信的基础功能做好营销

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 说到微信营销,很多人最先想到的就是基于微信的一些平台型营销手段,如申请微信公众账号,吸引会员注册,发布相关的产品信息进行营销,还有的直接使用微信的平台,做个简单的傻瓜式的微信网站进行营销,但综合效果看来,完全脱离了预先想象的效果,这对于大部分以营利为标准的企业来说,无疑是不可取的,那么,除了这些,我们怎么才能做好免费的基础版的微信营销呢.笔者

微信公众平台基础功能优化 提升用户体验

近期公众平台优化了包括群发消息.自定义菜单.通知中心.公众号设置等多个使用频率较高的功能模块,旨在提升用户体验.主要优化点如下: 一.群发消息:提升图文消息曝光量+已群发消息新增发送对象详情 1. 强化图文消息 "群发功能"-"新建群发消息"编辑器菜单栏的第一位置从"文字"替换成"图文消息",且新增编辑框内的图文消息快捷操作,包括从素材库中选择和新建图文消息两种.   2. 已群发消息新增发送对象详情   点击"群发