php 目录操作
1.打开文件:
opendir("文件名称");
2.读取文件:
readdir("文件名称");
<?php
$dirname="phpMyAdmin";
/*判断文件是否存在*/
if(file_exists($dirname)){
if(is_dir($dirname)){
$dir=opendir($dirname);
while($filename=readdir($dir)){
$file=$dirname."/".$filename;
if($filename!='.' && $filename!='..'){
if(is_dir($file)){
echo "<strong style='color:red'>".$filename.".......".GetFileSize(filesize($file))."..........".date("Y-m-d H:i:s",filectime($file))."......".filetype($file)."...............".GetFileSize(dirsize($file)).".......</strong><br>";
}else{
echo $filename."......".GetFileSize(filesize($file)).".......".date("Y-m-d H:i:s",filectime($file)).".....".filetype($file)."............................<br>";
}
}
}
}else{
echo "不是目录";
exit();
}
}else{
echo "文件不存在";
exit();
}
closedir($dir);
function GetFileSize($size){
$dw="Byte";
if($size >= pow(2,40)){
$size=round($size/pow(2,40),2);
$dw="TB";
}else if($size >= pow(2,30)){
$size=round($size/pow(2,30),2);
$dw="GB";
}else if($size >= pow(2,20)){
$size=round($size/pow(2,20),2);
$dw="MB";
}else if($size >=pow(2,10)){
$size=round($size/pow(2,10),2);
$dw="KB";
}else{
$dw="Bytes";
}
return $size.$dw;
}
function dirsize($dirname){
$dirsize=0;
$dir=opendir($dirname);
while($filename=readdir($dir)){
$file=$dirname."/".$filename;
if($filename!='.' && $filename!='..'){
if(is_dir($file)){
$dirsize+=dirsize($file);
}else{
$dirsize+=filesize($file);
}
}
}
closedir($dir);
return $dirsize;
}
//打开文件
//获取打开文件
//判断打开的文件
//去掉. ..
//判断是不是dir文件夹
//如果是则进去取出文件大下,递归进行判断; ?>
3.删除文件
//判断文件是否存在
//文件是不是目录
//打开文件
//读取文件
//过滤文件
//如果是文件夹则打开,如果是文件则删除
$dirname="phpMyAdmin";
rmdirdir($dirname);
function rmdirdir($dirname){
if(file_exists($dirname)){
if(is_dir($dirname)){
$dir=opendir($dirname);
while($filename=readdir($dir)){
$file=$dirname."/".$filename;
if($filename!='.' && $filename!='..'){
if(is_dir($file)){
rmdirdir($file);
}else{
unlink($file);
}
}
}
}else{
echo "不是文件";
exit();
}
}
else{
echo "文件不存在";
exit();
}
rmdir($dirname);
closedir($dir);
}
4.剪切,重命名
rename("目标","原路径")
5.复制文件
$dirname="phpMyAdmin";
$dirtoname="Hello";
copydir($dirtoname,$dirname);
function copydir($dirtoname,$dirname){
//判断是不是文件
if(is_file($dirtoname)){
echo "目标不是目录不能创建";
return;
}
//创建文件
if(!file_exists($dirtoname)){
mkdir($dirtoname);
echo "创建文件夹".$dirtoname;
}
//打开文件 $dir=opendir($dirname); //读取文件
while($filename=readdir($dir)){ //过滤文件
if($filename!='.' && $filename!='..'){
//打开之后过滤的文件加上原路径 $file1=$dirname."/".$filename;
$file2=$dirtoname."/".$filename;
echo $file2."<br>"; //判断文件是不是文件夹
if(is_dir($file1)){
copydir($file2,$file1); }else{
copy($file1,$file2);
}
} }
closedir($dir);
}
php 目录操作的更多相关文章
- 【C#公共帮助类】FTPClientHelper帮助类,实现文件上传,目录操作,下载等动作
关于本文档的说明 本文档使用Socket通信方式来实现ftp文件的上传下载等命令的执行 欢迎传播分享,必须保持原作者的信息,但禁止将该文档直接用于商业盈利. 本人自从几年前走上编程之路,一直致力于收集 ...
- liunx学习(一):linux下目录操作大全
Linux C函数之文件及目录函数(全):http://blog.sina.com.cn/s/blog_695e489c01013ldd.html linux目录操作发:http://www.cnbl ...
- Java基础知识系列——目录操作
Java对目录操作的许多方法与上一篇文件操作的方法很多是一样的. java.io.File file = new File( "D:\1\2\3\4"); 1.递归创建目录 fil ...
- Python目录操作
Python目录操作 os和os.path模块os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回但前目录('.') ...
- PHP 文件与目录操作函数总结
>>>文件操作 打开 fopen(); 打开文件 读取内容 fread(); 从文件指针 handle 读取最多 length 个字节 readfile(); 读入 ...
- Python::OS 模块 -- 文件和目录操作
os模块的简介参看 Python::OS 模块 -- 简介 os模块的进程管理 Python::OS 模块 -- 进程管理 os模块的进程参数 Python::OS 模块 -- 进程参数 os模块中包 ...
- Matlab命令系列之目录操作
Matlab命令系列之目录操作 filesep 用于返回当前平台的目录分隔符,Windows是反斜杠(),Linux是斜杠(/).有时此命令结合ispc命令使用,可以灵活的设置目录分割符. fullf ...
- Matlab命令——目录操作(windows&Linux)
Matlab命令——目录操作(windows&Linux) 1. filesep用于返回当前平台的目录分隔符,Windows是反斜杠(\),Linux是斜杠(/).有时此命令结合ispc命令使 ...
- 【Linux C中文函数手册】之 目录操作函数
目录操作函数 1)closedir 关闭目录 相关函数: opendir表头文件: #include<sys/types.h> #include<dirent.h>定义函数: ...
- OC7_目录操作
// // main.m // OC7_目录操作 // // Created by zhangxueming on 15/6/19. // Copyright (c) 2015年 zhangxuemi ...
随机推荐
- en_e out1
1◆e i: ə ɜː e i 2◆ eu 3◆ ew 4◆ ei ey eu ew 5◆ eer ue 6◆ ee u: u 7◆ er ɜː 8◆ ere ie ue ...
- HDU 3697贪心
额...大意是你可以决定什么时候选课.然后呢.每五分钟只有一次机会选.每种课限制选课时间.问你能选到的课最多有多少. 感觉一点都不水.是自己太菜了吗? #include<stdio.h> ...
- python执行系统命令后获取返回值
import os, subprocess # os.system('dir') #执行系统命令,没有获取返回值,windows下中文乱码 # result = os.popen('dir') #执行 ...
- L228 the complicated issue of equality: non-disabled actors play disabled roles
Bryan Cranston’s defence of playing a wheelchair user in the new comedy-drama The Upside has underli ...
- 序列化 NSKeyedArchiver,NSPropertyListSerialization
到目前为止,看到oc实现的序列化方式有两种:NSKeyedArchiver,NSPropertyListSerialization. 在这两种序列化方式中,NSData都是序列化的目标.两种方式的不同 ...
- springboot跨域请求
首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 Java小组 工具资源 SpringBoot | 番外:使用小技巧合集 2018/09/17 | 分类: 基础技术 | 0 条评论 | 标 ...
- Redis在.net中的应用学习
在Redis的官网(http://redis.io/clients#c)上可以看到支持Redis C#的客户端. redis的网络连接方式和传统的rdbms相似,一种是长连接,一种是连接池,此处使用长 ...
- MySQL错误代码
常见: 1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件导致删除数据库失败 1010:不能删 ...
- poll 从应用层到内核实现解析
poll函数的原型如下所示: int poll(struct pollfd *fds, nfds_t nfds, int timeout); poll可以监视多个描述符的属性变化,其参数的意义如下: ...
- [LeetCode&Python] Problem 832. Flipping an Image
Given a binary matrix A, we want to flip the image horizontally, then invert it, and return the resu ...