一、php文件操作

1、readfile - 适用于打开一个文件并读取文件的内容

echo readfile('e:/webdictionary.txt');

2、fopen('文件名','打开模式')  - 打开文件

打开模式:

r - 只读

w - 只写,如果文件不存在会自动创建(这是跟 r 不同的地方),文件指针指向开头,即如果文件存在会覆盖原文件。

a - 只写,如果文件不存在会自动创建,如果文件存在,文件指针指向文件末尾,即新写入的内容会添加到文件的末尾

x - 只写,如果文件不存在会自动创建,如果文件存在,会报错,文件指针指向文件开头

b - 打开一个二进制文件

t - windows的文本转换标记,可以透明的将 \n 转成 \r\n.

注:b 和 t 要依赖于前面的 4 种情况来使用

3、fclose('已经打开了的文件') - 关闭文件

4、fwrite('接收方','给予方')  - 想文件中写入内容(给予方必须是一个string)

5、feof('已经打开了的文件')  - 判断是否到了文件的末尾

6、fgets('已经打开了的文件') - 从已经打开了的文件中读取单行

7、特殊函数

//将文件截取指定的长度
ftruncate ( resource $handle , int $size ) blool
//取得文件的 inode 修改时间,即文件的权限,所有者,所有组或其它 inode 中的元数据
filectime ( string $filename ) : int
//取得文件的上次访问时间,比如上次取文件了文件
fileatime ( string $filename ) : int
//取得文件修改时间,即文件被入。
filemtime ( string $filename ) : int
/*取得文件类型,返回值有如下 7 种类型:
file(文件),
dir(目录),
fifo(命名管道,常用于将信息从一个进程传输到另一个进程),
char(字符设备文件,值在I/O传输过程中以字符为单位进行传输的设备,例如键盘,打印机),
block(块设备文件),
link( 符号链接,是指向文件指针的指针,类似Windows中的快捷方式),
unknown(未知类型)
*/
filetype ( string $filename ) : string

//文件锁定
flock ( resource $handle , int $operation ) : bool
//operation 可以是以下值之一:
//LOCK_SH 取得共享锁定(读取的程序)。
//LOCK_EX 取得独占锁定(写入的程序。
//LOCK_UN 释放锁定(无论共享或独占) //返回文件指针读/写的位置
ftell ( resource $handle ) : int //在文件指针中定位
fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] ) : int
//offset:偏移量,要移动到文件尾之前的位置,需要给 offset 传递一个负值,并设置 whence 为 SEEK_END。
//whence :
//SEEK_SET - 设定位置等于 offset 字节。
//SEEK_CUR - 设定位置为当前位置加上 offset。
//SEEK_END - 设定位置为文件尾加上 offset。 //倒回文件指针的位置
rewind ( resource $handle ) : bool

8、访问远程文件需要在php.ini里面开启 allow_url_fopen 

经典示例1:

$file1 = fopen('e:/file1.txt','r');
$file2 = fopen('e:/file2.txt','w');
while(!feof($file1)){
fwrite($file2,fgets($file1));
}
fclose($file1);
fclose($file2);

经典示例2:

// a.txt,b.txt都是1G大小,要把a.txt复制给b.txt的末尾,

function copyAToB(){
$file_a = fopen('a.txt','r');
$file_b = fopen('b.txt','a');
while($str = fread($file_a,)){
fwrite($file_b,$str);
}
fclose($file_a);
fclose($file_b);
}
copyAToB('a.txt','b.txt');

二、php目录操作

1、常用函数

//当我们用opendir()打开一个文件后,操作这个文件句柄,操作完了之后,可以用该函数将句柄指向文件开头。
rewinddir()

经典示例3:遍历目录,并输出该目录下的所有文件

本文为袋鼠学习中的总结,如有转载请注明出处:https://www.cnblogs.com/chrdai/p/6373301.html

pho文件操作的更多相关文章

  1. 【.NET深呼吸】Zip文件操作(1):创建和读取zip文档

    .net的IO操作支持对zip文件的创建.读写和更新.使用起来也比较简单,.net的一向作风,东西都准备好了,至于如何使用,请看着办. 要对zip文件进行操作,主要用到以下三个类: 1.ZipFile ...

  2. 野路子出身PowerShell 文件操作实用功能

    本文出处:http://www.cnblogs.com/wy123/p/6129498.html 因工作需要,处理一批文件,本想写C#来处理的,后来想想这个是PowerShell的天职,索性就网上各种 ...

  3. Node基础篇(文件操作)

    文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 ...

  4. 归档NSKeyedArchiver解归档NSKeyedUnarchiver与文件管理类NSFileManager (文件操作)

    ========================== 文件操作 ========================== 一.归档NSKeyedArchiver 1.第一种方式:存储一种数据. // 归档 ...

  5. SQL Server附加数据库报错:无法打开物理文件,操作系统错误5

    问题描述:      附加数据时,提示无法打开物理文件,操作系统错误5.如下图: 问题原因:可能是文件访问权限方面的问题. 解决方案:找到数据库的mdf和ldf文件,赋予权限即可.如下图: 找到mdf ...

  6. 通过cmd完成FTP上传文件操作

    一直使用 FileZilla 这个工具进行相关的 FTP 操作,而在某一次版本升级之后,发现不太好用了,连接老是掉,再后来完全连接不上去. 改用了一段时间的 Web 版的 FTP 工具,后来那个页面也 ...

  7. Linux文件操作的主要接口API及相关细节

    操作系统API: 1.API是一些函数,这些函数是由linux系统提供支持的,由应用层程序来使用,应用层程序通过调用API来调用操作系统中的各种功能,来干活 文件操作的一般步骤: 1.在linux系统 ...

  8. C语言的fopen函数(文件操作/读写)

    头文件:#include <stdio.h> fopen()是一个常用的函数,用来以指定的方式打开文件,其原型为:    FILE * fopen(const char * path, c ...

  9. Python的文件操作

    文件操作,顾名思义,就是对磁盘上已经存在的文件进行各种操作,文本文件就是读和写. 1. 文件的操作流程 (1)打开文件,得到文件句柄并赋值给一个变量 (2)通过句柄对文件进行操作 (3)关闭文件 现有 ...

随机推荐

  1. tomcat下部署应用helloworld

    部署应用(简单)1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录.2.在webapps目录下新建一个目录mya ...

  2. Git学习笔记一《版本控制之道-使用Git》

    1.在Windows中安装完git后,需要进行一下配置:$ git config --global user.name "zhangliang"$ git config --glo ...

  3. 测试开发之前端——No9.HTML5中的视频/音频

    HTML5 视频和音频的 DOM 参考手册 HTML5 DOM 为 <audio> 和 <video> 元素提供了方法.属性和事件. 这些方法.属性和事件允许您使用 JavaS ...

  4. rownum和分析函数 over

    select rownum, t.* from qyuser.tr_apply_info t where rownum < 10; --rownum 对于满足 查询条件的结果,从1 开始,所以大 ...

  5. CentOS7图形界面与命令行界面切换

    1.如果在命令行模式,按Ctrl+Alt+F1,可以进入图形界面: 2.如果在图形界面下,按:Ctrl+Alt+F2,可以进入命令行模式:

  6. PHP获取数组最后一个元素的键和值

    <?php /** * PHP获取数组中最后一个元素下标和值 */ $arr = ['1' => 'name', '3' => 2, 5 => 6, 'name' => ...

  7. hdu2586 lca倍增法

    倍增法加了边的权值,bfs的时候顺便把每个点深度求出来即可 #include<iostream> #include<cstring> #include<cstdio> ...

  8. pychrame更换默认以unittest执行或取消单元测试框架执行

    选择某个测试框架运行脚本 File-> Settings -> Tools -> Python Integrated Tools -> Default test runner ...

  9. oracle分区表彻底删除的办法,处理删不掉的不规则表名

    Oracle分区表彻底删除的办法当对一个不再使用的分区表进行drop后,查询user_tab_partitions视图发现出现如下不规则的分区表表名:SQL> select distinct t ...

  10. 《剑指offer》-判断对称二叉树

    题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的.注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的. 思路上还是广度优先搜索(BFS)来做的.BFS是依托于STL的queue作为容 ...