• 目录操作

    • is_dir ( $path ) 判断当前路径是否为目录 ,返回布尔

    • opendir ( $path ) 打开路径目录,返回资源

    • readdir ( $handle ) 读取当前打开目录下一个文件,同时指针向前移动一位,返回字符串 (文件/目录名)

    • closedir ( $handle ) 关闭当前打开目录 返回布尔

    • getcwd ( ) 获得当前工作目录

    • rmdir 删除目录,删除前必须先删除目录下所有文件和目录

  代码:列出指定目录下所有文件和文件名

function traversal_dir($path, $deep = 0) {   

if (is_dir($path)) {       

$handle = opendir($path);       

while (($file = readdir($handle)) !== false) {           

if ($file == '.' || $file == '..') {              

 continue;

            }           

            echo str_repeat('-', 2 * $deep) . $file . '</br>';           

            if (is_dir($path . '/' . $file)) {

                traversal_dir($path . '/' . $file, $deep + 1);

            }

        }

    }

}

traversal_dir('./');

  • 文件操作

    • is_file ( $path ) :判断指定 路径是否为文件

    • file_exists ( $path ) : 检查目录或者文件是否存在

    • fopen ( $file ) :打开文件或者 URL 返回资源

    • fread ( resource $handle , int $length ) : 读取文件,可指定长度

    • fwrite ( resource $handle , string $string [, int $length ] ) : 返回写入字符串大小,如果指定了 length,当写入了 length 个字节或者写完了 string 以后,写入就会停止,视乎先碰到哪种情况。

    • fgets ( resource $handle [, int $length ] ) : 读取一行文本,length指定一行文本长度

    • fclose ( resource $handle ) : 关闭文件

    • basename ( $path ) : 返回指定路径的文件名部分 返回String

    • dirname ( $path ) : 返回指定路径的目录名部分 返回string

    • 路径部分

    • 操作部分

    • stat 获得文件信息

    • 判断部分

    • filesize ( $path ) 获得文件大小 int

    • filetype ( $path ) 获得文件类型 string (可能值:fifo,char,dir,block,link,file 和 unknown)

    • rename ( string $oldname , string $newname [, resource $context ] ) 重命名或者移动 返回布尔

    • unlink ( $path ) 删除文件 返回布尔

    • file_get_contents 将整个文件读如一个字符串

    • file_put_contents 将一个字符串写入文件

  代码:每执行一次文件,向文件头部追加 Hello word

$path = './hello.txt';

if (!file_exists($path)) {   

$handle = fopen($path, 'w+');   

fwrite($handle, 'Hello word' . '\r\n');   

fclose($handle);

} else {   

$handle = fopen($path, 'r');   

$content = fread($handle, filesize($path));   

$content = 'Hello word \r\n' . $content;   

fclose($handle);   

$handle = fopen($path, 'w');   

fwrite($handle, $content);   

fclose($handle);

}

代码:遍历删除文件夹及文件夹下所有文件

function traversal_delete_dir($path) {   

if (is_dir($path)) {       

$handle = opendir($path);       

while (($file = readdir($handle)) !== false) {           

if ($file == '.' || $file == '..') {               

continue;

            }           

            if (is_dir($path . '/' . $file))

            {

                traversal_delete_dir($path . '/' . $file);

            } else {               

            if (unlink($path . '/' . $file))

             {                   

            echo '删除文件' . $file . '成功';

                }

            }

        }       

        closedir($handle);       

        rmdir($path);

    }

}

traversal_delete_dir('./shop_api');

PHP文件目录操作的更多相关文章

  1. paip.文件目录操作uAPI php python java对照

    paip.文件目录操作uAPI php python java对照 chdir -- 改变目录 chroot -- 改变根目录 dir -- directory 类 closedir -- 关闭目录句 ...

  2. php文件夹与文件目录操作函数

    在php中一些常用的文件夹/文件目录操作函数总结. php文件夹操作函数 string basename ( string path [, string suffix] ) 给出一个包含有指向一个文件 ...

  3. 你一定要知道的关于Linux文件目录操作的12个常用命令

    写在前面: 1,<你一定要知道的关于Linux文件目录操作的12个常用命令>是楼主收集的关于Linux文件目录操作最常用的命令,包括文件或目录的新建.拷贝.移动.删除.查看等,是开发人员操 ...

  4. [PY3]——IO——文件目录操作

    IO—os.shutil—文件目录操作 目录操作 1. 新建 os.mkdir(path[, mode]) 相当于mkdir,新建目录 os.makedirs(path[, mode]) 相当于mkd ...

  5. python OS 模块 文件目录操作

    Python OS 模块 文件目录操作 os模块中包含了一系列文件操作的函数,这里介绍的是一些在Linux平台上应用的文件操作函数.由于Linux是C写的,低层的libc库和系统调用的接口都是C AP ...

  6. php 文件夹 与 文件目录操作

    php文件夹操作函数 string basename ( string path [, string suffix] )给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名.如果文件名是 ...

  7. Vim 中进行文件目录操作

    Vim 中进行文件目录操作 当前文件名 我们知道Vim有48个寄存器,其中%只读寄存器中保存着当前文件路径. 例如在/home/harttle/下打开src/main.cpp,我们打印%的值: :ec ...

  8. python2.7.13标准库文件目录操作与文件操作

    标准库的中文参考文档: http://python.usyiyi.cn/translate/python_278/library/index.html 官方标准库文档:https://docs.pyt ...

  9. ios文件系统文件目录操作

    对于一个运行在iPhone得app,它只能访问自己根目录下得一些文件(所谓sandbox). 一个app发布到iPhone上后,目录结构如下: 1.其中获取 app root 可以用 NSHomeDi ...

  10. PHP学习笔记--文件目录操作(文件上传实例)

    文件操作是每个语言必须有的,不仅仅局限于PHP,这里我们就仅用PHP进行讲解 php的文件高级操作和文件上传实例我放在文章的最后部分.--以后我还会给大家写一个PHP类似于网盘操作的例子 注意:阅读此 ...

随机推荐

  1. 《数据分析实战:基于EXCEL和SPSS系列工具的实践》一1.4 数据分析的流程

    本节书摘来华章计算机<数据分析实战:基于EXCEL和SPSS系列工具的实践>一书中的第1章 ,第1.4节,纪贺元 著 更多章节内容可以访问云栖社区"华章计算机"公众号查 ...

  2. vue 遮罩层阻止默认滚动事件

    vue中提供 @touchmove.prevent 方法可以完美解决这个问题. <div class="child" @touchmove.prevent ></ ...

  3. 图论--最短路--dijkstra(含路径输出)模板

    #include<iostream> #include<stack> #include<queue> #include<cstring> #includ ...

  4. P1466 集合 Subset Sums 搜索+递推+背包三种做法

    题目描述 对于从1到N (1 <= N <= 39) 的连续整数集合,能划分成两个子集合,且保证每个集合的数字和是相等的.举个例子,如果N=3,对于{1,2,3}能划分成两个子集合,每个子 ...

  5. A. Hilbert's Hotel(数学)

    传送门 \(看了一下网上都没什么题解,自己写一篇吧,对你有帮助的话留个言吧~\) \(\color{Orange}{----------------------分割------------------ ...

  6. matlab基础知识总结

  7. Coursera课程笔记----计算导论与C语言基础----Week 2

    计算机的历史与未来(Week 2) 计算机历史 早期计算机:手工计算器➡️机械计算器➡️计算机原型 现代计算机:电子管计算机➡️晶体管计算机➡️集成电路计算机➡️超大规模集成电路 早期的手工计算辅助工 ...

  8. Vular开发手记#1:设计并实现一个拼插式应用程序框架

    可视化编(rxeditor)辑告一段落,在知乎上发了一个问题,询问前景,虽然看好的不多,但是关注度还是有的,目前为止积累了21w流量,因为这个事,开心了好长一段时间.这一个月的时间,主要在设计制作Vu ...

  9. [hdu5254]BFS

    题意:如果一个格子的相邻四个格子中存在两个格子被标记,且这两个格子有公共点,那么这个格子也被标记.给定初始的标记状态,求最终有多少个格子被标记了 思路: 依次对每个格子进行处理,看它能否”生成“新的被 ...

  10. [codeforces-542-C]YY?

    链接:http://codeforces.com/problemset/problem/542/C 题意:对一个函数f(x),定义域[1,n], 令f(k,x) = f(f(f(f...f(x)))) ...