PHP文件操作函数及文件指针理解
知识点:
一、fopen(),文件打开函数,读写参数有:
1、R : 只读,指针在文件开头
2、r+:读写,指针同上
3、W :只写,写入前会删除文件内容,然后指针回到文件开头,文件不存在则创建
4、w+: 读写,其他同上
5、A: 只写,指针在文件末尾,文件不存在则创建,注意:此模式为“追加”
6、a : 读写, 同上
7、x:创建并打开文件(方式:只写),如果文件已存在,则返回一个E_warning错误
8、x+:创建并打开文件(方式:读写),其他同上
总结:R方式读写不错,W会删除文件内容,A指针会出现在文件末端,写操作为追加,所以指针偏移函数fseek失效,X一般为新建文件
二、读取文件:file() 与file_get_contents()
file()返回数组,file_get_contents()返回字符串
三、文件写操作:fwrite()
第一个参数为文件指针,第二个参数为传入的字符串
注意:如果文件指针所在的位置有数据,则采用字符串覆盖的方式,以此类推,后面的数据也会被覆盖,直到传入的字符串写完。
四、文件指针偏移:fseek()
第一个参数为文件指针,第二个参数为偏移量(int类型)字节,第三个参数决定文件指针的初始位置,配合第二个参数决定最终指针的位置。
第三个参数的可用选项:
①、SEEK_CUR:指针当前位置
②、SEEK_END:文件末尾,如果想向前偏移,偏移量必须为负数。
③、SEEK_SET:文件开始位置
⑤、获取偏移量:ftell()
参数为文件指针
代码:
<?php
header("Content-type:text/html;charset=gbk");
$jubing = fopen("C:\Users\Administrator\Desktop/test.txt",'r+');
$str = mb_convert_encoding("45",'gbk','utf-8');
fseek($jubing,3,SEEK_CUR);
fwrite($jubing,$str);
$newstr = file_get_contents("C:\Users\Administrator\Desktop/test.txt");
echo $newstr;
var_dump(fclose($jubing));//文件关闭成功
?>
文件初始内容:

文件读写后内容:

PHP文件操作函数及文件指针理解的更多相关文章
- Unix无缓冲文件操作函数、文件信息查询
问题描述: Unix无缓冲文件操作函数.文件信息查询 问题解决: struct stat 结构体信息: 具体代码: 具体源文件:
- 文件操作(FILE)与常用文件操作函数
文件 1.文件基本概念 C程序把文件分为ASCII文件和二进制文件,ASCII文件又称文本文件,二进制文件和文本文件(也称ASCII码文件)二进制文件中,数值型数据是以二进制形式存储的, 而在文本文件 ...
- 总结文件操作函数(二)-C语言
格式化读写: #include <stdio.h> int printf(const char *format, ...); //相当于fprintf( ...
- Delphi文件操作函数
文件是同一种类型元素的有序集合,是内存与外设之间传输数据的渠道.文件的本质是一个数据流,所有的文件实际上是一串二进制序列.文件管理包括:1.文件操作.2.目录操作.3.驱动器操作.三部分. 1.常见文 ...
- PHP常用的文件操作函数集锦
以下是个人总结的PHP文件操作函数.当然,这只是部分,还有很多,我没有列出来. 一 .解析路径: 1 获得文件名:basename();给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件 ...
- C语言样式的文件操作函数
使用C语言样式的文件操作函数,需要包含stdio.h头文件. 1.打开文件的函数: //oflag的取值为“w”或“r”,分别表示以写或读的方式打开 FILE* fd = fopen(filename ...
- C语言文件操作函数
C语言文件操作函数大全 clearerr(清除文件流的错误旗标) 相关函数 feof表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * str ...
- 总结文件操作函数-文件夹(三)-C语言
获取.改变当前文件夹: 原型为: #include <unistd.h> //头文件 char *getcwd(char *buf, size_t size); //获取当前文件夹.相 ...
- 【阅读笔记】《C程序员 从校园到职场》第六章 常用文件操作函数 (Part 1)
参考链接:https://blog.csdn.net/zhouzhaoxiong1227/article/details/24926023 让你提前认识软件开发(18):C语言中常用的文件操作函数总结 ...
随机推荐
- C# break语句
一.C# break语句 break语句用于终止它后面的所有循环语句,使控制流程跳转到break语句所在层的外面,以便结束本层的所有循环.如果有多个循环语句进行嵌套,break语句则会跳到它所在层的外 ...
- using namespace std 是什么意思?
摘录CSDN上面大牛的回答简要意思就是使用标准库,想知道更清楚的继续读下面的. using namespace std 意思: using 和namespace都是C++的关键词. ...
- 屏蔽datatable错误提示
$.fn.dataTable.ext.errMode = 'none'; //不显示任何错误信息// 以下为发生错误时的事件处理,如不处理,可不管.$('#productionRequestItems ...
- Eloquent: 修改器
感觉好长时间没写东西了,一方面主要是自己的角色发生了变化,每天要面对各种各样的事情和突发事件,不能再有一个完整的长时间让自己静下来写代码,或者写文章. 另一方面现在公司技术栈不再停留在只有 Larav ...
- Gulp工具
Gulp是一个基于node开发的构建工具. gulp本身是不进行任何构建任务,是通过gulp的一些列插件完成: gulp-less 编译LESS文件: gulp-autoprefix 添加css私 ...
- python之获取微信好友列表并保存文档中
代码如下 from wxpy import * from pprint import pprint #登录微信 bot = Bot() my_friend = bot.friends() f = op ...
- C# 窗口关闭事件
首先添加一个退出事件函数 //退出按键 private void Form1_FormClosing(object sender, FormClosingEventArgs e) { DialogRe ...
- [洛谷1156]垃圾陷阱(DP)
[Luogu1156] f[i]表示高度为i时的存活时间 Code #include <cstdio> #include <algorithm> #define N 110 u ...
- 20145202马超 《Java程序设计》第七周学习总结
Arrays:用于操作数组的工具类. 里面都是静态方法. asList:将数组变成list集合. 把数组变成集合的好处:可以使用集合的思想来操作数组中的元素. 将数组变成集合的时候不可以使用集合的增删 ...
- format内置函数
1. 函数功能将一个数值进行格式化显示. 2. 如果参数format_spec未提供,则和调用str(value)效果相同,转换成字符串格式化. >>> format(3.14159 ...