PHP文件操作整理

三种目录表示:

./     代表当前目录

../    代表父级目录

/    代表根目录

常用的文件操作函数有

通用读写:                  fpen()  fwrite() fread() fclose() fgets() feof()

PHP快速读写            file_put_contents()  file_get_contents()

获取文件信息            basename()  dirname()  fstat() filesize() scandir()

文件判断:        file_exists()  is_file()  is_dir()

增删移复制     mkdir()  unlink() rename() copy()

fopen 的模式


‘r‘


只读方式打开,将文件指针指向文件头。


‘r+‘


读写方式打开,将文件指针指向文件头。


‘w‘


写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。


‘w+‘


读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。


‘a‘


写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。


‘a+‘


读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。


‘x‘


创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。


‘x+‘


创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。

查找手册:http://php.net/manual/zh/ref.filesystem.php

获取目录下所有文件以及子目录的方法

方式一:

$path = dirname(__FILE__);

$file = [];
function getFiles($path,&$file)
{
    $res = scandir($path);
    $file = array_slice($res,2);
    foreach ($file as &$val){
        $newPath = $path.‘/‘.$val;
        if(is_dir($newPath)){
            getFiles($newPath,$val);
        }
    }
}

getFiles($path,$file);
var_dump($file);

方式二:

$dir = dirname(__FILE__).‘/node_modules‘;

$file = [];
function getFile2($path,&$files)
{

    if (is_dir($path)) {
        if ($dh = opendir($path)) {
            while (($file = readdir($dh)) !== false) {
                if ($file != ‘.‘ && $file != ‘..‘) {
                    $newPath = $path.‘/‘.$file;
                    if (is_dir($newPath)) {
                        $child = [];
                        getFile2($newPath,$child);
                        $files[] = $child;
                    } else {
                        $files[] = $file;
                    }
                }
            }
            closedir($dh);
        }
    }
}

getFile2($dir,$file);
var_dump($file);
时间: 2024-10-27 18:51:01

PHP文件操作整理的相关文章

Python-字典、集合、字符编码、文件操作整理-Day3

1.字典 1.1.为什么有字典: 有个需求,存所有人的信息 这时候列表就不能轻易的表示完全names = ['stone','liang'] 1.2.元组: 定义符号()t = (1,2,3)tuple 是元组的意思列表与元组不一样的地方是它 元组不可以修改元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表 语法 names = ("alex","jack","eric") 它只有2个方法,一个是count,一个

C#中文件操作整理

直接上代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.IO.Packaging; using System.Xml; using System.Web; namespace CShapDemo.Utils { class FileIOManager

php常见的类库-文件操作类

工作中经常用php操作文件,因此把常用文件操作整理出来: 1 class hylaz_file{ 2 /** 3 * Read file 4 * @param string $pathname 5 * @return string content 6 */ 7 public static function read_file($pathname){ 8 return @file_get_contents($pathname); 9 } 10 /** 11 * Write File 12 * @p

【整理】C#文件操作大全(SamWang)

[整理]C#文件操作大全(SamWang) 文件与文件夹操作主要用到以下几个类: 1.File类: 提供用于创建.复制.删除.移动和打开文件的静态方法,并协助创建 FileStream 对象. msdn:http://msdn.microsoft.com/zh-cn/library/system.io.file(v=VS.80).aspx 2.FileInfo类: 提供创建.复制.删除.移动和打开文件的实例方法,并且帮助创建 FileStream 对象 msdn:http://msdn.micr

HTML5 本地文件操作之FileSystemAPI整理(一)

一.请求配额 DeprecatedStorageInfo对象 window.webkitStorageInfo:当使用持久存储模式时需要用到该对象的接口 方法: 1.requestQuota(type,size,successCB,errorCB);请求配额 2.queryUsageAndQuota();获取配额信息 window.requestFileSystem(window.PERSISTENT, gratedBytes, initFs, errorHandler); DOMFileSys

归纳整理Linux下C语言常用的库函数----文件操作

在没有IDE的时候,记住一些常用的库函数的函数名.参数.基本用法及注意事项是很有必要的. 参照Linux_C_HS.chm的目录,我大致将常用的函数分为一下几类: 1. 内存及字符串控制及操作 2. 字符串转换 3. 字符测试 4. 文件操作 5. 时间日期 6. 常用数学函数 7. 文件内容操作 8. 文件权限控制 9. 进程操作 10. 线程操作 11. Socket操作 12. 信号处理 13. 数据结构及算法 这次主要总结的是上面黑色部分,关于文件操作的函数. 系统调用归类 * * 函数

文件操作 知识 习题 整理

文件操作: 文件的读,写,添加以及判断文件编码形式 1.文件的读(只读): f = open('xx.txt', 'r', encoding = '编码形式(如utf-8)') # 用什么形式编的码,就用什么形式读 否则会发生乱码 data = f.read() print(data) # 打印文件中的内容 f.close() 2.文件的写(只写): f = open('xx.txt', 'w', encoding = '编码形式(如utf-8)') data = f.write() # 创建(

强大的pdf文件操作小工具——PDFtk的小白用法

前言 作为程序员,大家都知道的,总是会被技术小白问各种跟编程没什么关系的硬件.软件问题.曾经被一技术小白同事问到有没有什么办法合并pdf文件,当时自己也是一头雾水,因为自己工作生活很少会去操作pdf文件,而当时公司对开发人员的电脑权限管理很严格,不论是上网还是安装软件,都受到很大限制,最后硬着头皮忙活了一阵子也没在解决. 前两天在写批处理程序的时候,发现批处理程序是有合并文件的命令的,我忽然想起之前这个同事的问题,就试了一下合并pdf,然而并不行.虽然失落了一下,但本着学习的精神还是百度了一下关

C# WPF Application 下的文件操作

好气哦,电脑好烂,每天花大把的时间在等电脑反应上. 没有钱买新电脑,连组台式机的钱都没有.好气哦. 啊啊啊啊文件操作是什么鬼???C++下我都懵了,C#下好多东西要学!!!我不会!我不会!我不会!!!啊啊啊啊啊啊!!! 怎么办啊?用windows API写我要怎么样移植到Linux下? WINDOWS API的文件操作 一.常用函数 CreateFile 创建.打开文件 ReadFile 读取文件内容 WriteFile 写入文件内容 SetFilePointer 移动文件指针 SetEndOf