用php实现基本功能,php实现文件管理与基础功能操作的方法
这篇文章通过实例代码给大家讲解了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实现文件管理与基础功能操作的方法相关推荐
- php实现文件夹管理器,php实现文件管理与基础功能操作
文件的基本操作 先来看一下PHP文件基础操作,请看强大注释 var_dump(filetype("./img/11.png")); //判断返回得是文件还是目录,返回sile为文件 ...
- php实现浏览文件夹按钮,php实现文件管理与基础功能操作
php实现文件管理与基础功能操作2020-06-17 11:59:15 文件的基本操作 先来看一下PHP文件基础操作,请看强大注释 var_dump(filetype("./img/11.p ...
- 小米手机系统服务组件是干什么的_怎么查看小米手机MIUI系统的基本功能-小米手机MIUI系统基础功能查询方法讲解...
小米手机是国产品牌手机中口碑较好的手机之一,受到大家的喜爱,配置功能丰富,价格实惠.亲们或许都不知道怎么查看小米手机MIUI系统的基本功能,小编很高兴为大家解决这个问题,接下来就为大家奉上小米手机MI ...
- MyBatis Demo 编写(1)基础功能搭建
简介 在Mybatis3的源码解析系列中,我们对其核心功能有了一定的了解,下面我们尝试简单写一下Demo,让其有简单的Mybatis的一些核心功能,本篇是基础功能的搭建 Dome 编写 完整的工程已放 ...
- 2.2.1 MySQL基本功能与参数文件管理
MySQL基本功能与参数文件管理 MySQL 数据库文件分类介绍 redolog undolog binlog(复制时还有 relaylog) errorlog querylog slowlog da ...
- win10文件显示后缀名_手机必装!百度家的万能文件管理器,功能强大无广告!...
不做深度指南,只愿浅度指北使用安卓的朋友应该都知道,这款强大的文件浏览器,在我之前的推文中,介绍了如何使用 ES 共享电脑中的视频,有小伙伴评论竟然还有这样的功能:那么,今天,小北就介绍一下它强大的功 ...
- 安卓手机管理器_MiXplorer,简洁又多功能的安卓文件管理器
在新的一年里,愿大家在心底一年里都快快乐乐的!感谢你来到找喵喵了!且听找喵喵聊聊骚.今天找喵喵为你们带来猫粮是MiXplorer. 大家用过ES文件浏览器的都知道,是一款功能多多的本地文件管理器,方便 ...
- 餐饮系统店家后端基础功能构建
j3_liuliang 快捷餐饮系统基本构建,好的项目基础可以事半功倍哦! 项目相关文章导航: 快捷点餐项目简介 餐饮系统设计概括 餐饮系统店家后端基础功能构建 快捷餐饮之店家后台OSS文件管理实现 ...
- 收藏功能_微信强大的收藏功能,你们用了吗?
在中国说到即时聊天工具,就得说到微信和QQ了,他们都是腾讯旗下的产品,今天麦叔要和大家聊的是微信,去年官方数据显示微信用户已超过10亿,庞大用户群体在使用它,但它的一些功能并不是每个人都会知道,今天麦 ...
- 完爆Facebook/GraphQL,APIJSON全方位对比解析(一)-基础功能
相关阅读: 完爆Facebook/GraphQL,APIJSON全方位对比解析(二)-权限控制 完爆Facebook/GraphQL,APIJSON全方位对比解析(三)-表关联查询 自APIJSON发 ...
最新文章
- BZOJ 1003 物流运输trans dijstra+dp
- 谈谈eclipse使用技巧一
- 记一次在LAMP中遇到的问题
- centos7启动与切换图形界面
- linux 查看文件哈希码,使用linux的sha1sum命令查看效验文件哈希值命令
- 汇编语言实现led灯的跑马灯
- 向右滑动返回Activity
- How To Install IonCube Loader
- python的for语句要用冒号吗_python中循环的写法 for
- 对象可以创建数组吗_电脑零基础可以学习创建网站吗?
- 银行家算法检测死锁c语言,[算法]操作系统进程调度与通信算法 Dijkstra银行家算法 C语言实现 | 李大仁博客...
- 使用PS创造非凡动物形象
- BUUCTF------相册
- 测试打印机性能的软件,打印机检测软件Printer Check
- win10无法修改mac地址_电脑MAC地址(物理地址)修改方法
- Python使用Regular入门
- 光纤耦合系统的公差分析
- 恒星日和太阳日【转载】
- 华为模拟器eNSP练习题-静态路由、缺省路由
- 电脑WIN XP蓝屏错误代码大全