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 目录操作的更多相关文章

  1. 【C#公共帮助类】FTPClientHelper帮助类,实现文件上传,目录操作,下载等动作

    关于本文档的说明 本文档使用Socket通信方式来实现ftp文件的上传下载等命令的执行 欢迎传播分享,必须保持原作者的信息,但禁止将该文档直接用于商业盈利. 本人自从几年前走上编程之路,一直致力于收集 ...

  2. liunx学习(一):linux下目录操作大全

    Linux C函数之文件及目录函数(全):http://blog.sina.com.cn/s/blog_695e489c01013ldd.html linux目录操作发:http://www.cnbl ...

  3. Java基础知识系列——目录操作

    Java对目录操作的许多方法与上一篇文件操作的方法很多是一样的. java.io.File file = new File( "D:\1\2\3\4"); 1.递归创建目录 fil ...

  4. Python目录操作

    Python目录操作 os和os.path模块os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回但前目录('.') ...

  5. PHP 文件与目录操作函数总结

    >>>文件操作 打开 fopen();    打开文件 读取内容 fread();    从文件指针 handle 读取最多 length 个字节 readfile();    读入 ...

  6. Python::OS 模块 -- 文件和目录操作

    os模块的简介参看 Python::OS 模块 -- 简介 os模块的进程管理 Python::OS 模块 -- 进程管理 os模块的进程参数 Python::OS 模块 -- 进程参数 os模块中包 ...

  7. Matlab命令系列之目录操作

    Matlab命令系列之目录操作 filesep 用于返回当前平台的目录分隔符,Windows是反斜杠(),Linux是斜杠(/).有时此命令结合ispc命令使用,可以灵活的设置目录分割符. fullf ...

  8. Matlab命令——目录操作(windows&Linux)

    Matlab命令——目录操作(windows&Linux) 1. filesep用于返回当前平台的目录分隔符,Windows是反斜杠(\),Linux是斜杠(/).有时此命令结合ispc命令使 ...

  9. 【Linux C中文函数手册】之 目录操作函数

    目录操作函数 1)closedir 关闭目录 相关函数: opendir表头文件: #include<sys/types.h> #include<dirent.h>定义函数: ...

  10. OC7_目录操作

    // // main.m // OC7_目录操作 // // Created by zhangxueming on 15/6/19. // Copyright (c) 2015年 zhangxuemi ...

随机推荐

  1. spring cloud 学习(一)初学SpringCloud

    初学SpringCloud 前言 在SpringBoot的坑还没填完的情况下,我又迫不及待地开新坑了.主要是寒假即将结束了,到时又得忙于各种各样的事情……留个坑给自己应该就会惦记着它,再慢慢地补上…… ...

  2. sql 判断字符串中是否含有数字和字母

    判断是否含有字母 select PATINDEX('%[A-Za-z]%', ‘ads23432’)=0 (如果存在字母,结果<>1) 判断是否含有数字 PATINDEX('%[0-9]% ...

  3. Vue 就地复用策略注意事项

    ---template部分 div el-popover(ref="message", placement="top-start", title="标 ...

  4. NodeJS类型定义方式

    最近在学习nodejs,就是因为它比较轻便,并发量大,上手快.由于以前一直在做C#的后端,没有接触过javascript,所以还得慢慢学习之. nodejs所用的是javascript语言,它没有如C ...

  5. MyEclipse移动开发教程:设置所需配置的iOS应用(四)

    MyEclipse个人授权 折扣低至冰点!立即开抢>> [MyEclipse最新版下载] 三.创建配置文件 Provisioning profiles授权文件应用程序在iOS设备上安装并运 ...

  6. ZOJ3180 Number Game

    ZOJ3180 Number Game 要点: 判断后三个数字能否通过上述的变换过程 推出前三个数字 ,我们可以逆向思维考虑 也就是逆着推回去 如果符合后三个数字 或其变换一次的数字(即符合其中一种组 ...

  7. django model 不设置default='' 会出错

    当django中的model没有设置default = ''时,会弹出提示信息.在model中加上默认值为空,这样就不会对数据库的必填字段留空造成错误,导致数据库出错,系统崩溃.

  8. SWIFT中获取配置文件路径的方法

    在项目中有时候要添加一些配置文件然后在程序中读取相应的配置信息,以下为本人整理的获取项目配置文件(.plist)路径的方法: 1.获取沙盒路径后再APPEND配置文件 func documentsDi ...

  9. BZOJ3230: 相似子串【后缀数组】

    Description Input 输入第1行,包含3个整数N,Q.Q代表询问组数. 第2行是字符串S. 接下来Q行,每行两个整数i和j.(1≤i≤j). Output 输出共Q行,每行一个数表示每组 ...

  10. test20181006 投票

    题意 分析 考场30分 枚举大小为k的子集的算法终于用上了. 时间复杂度 \[O\left(\binom{n}{k} \cdot \binom {k}{\frac{k}{2}} \cdot k\rig ...