【PHP】文件写入和读取详解

<?php
$fp = fopen("C:\wamp64\www\text.txt",'w');
?>

<?php
$fp = fopen("C:/wamp64/www/text.txt",'w');
?>
<?php
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$fp = fopen("$DOCUMENT_ROOT/text.txt",'w');
?>
<?php
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$fp = fopen("$DOCUMENT_ROOT/text.txt",'w');
fwrite($fp,'在写模式下写入');
fclose($fp);
?>

<?php
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$fp = fopen("$DOCUMENT_ROOT/text.txt",'r');
fwrite($fp,'在读模式下写入');
fclose($fp);
?>


很全面,但我觉得这张表对新手有些不太友好,让人看后不知多云。 r是只读,w是只写(原来有的内容全删除),a是追加(不删除原有内容),这都好理解。

<?php
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$fp = fopen("$DOCUMENT_ROOT/text.txt",'r+');
fwrite($fp,'r+ mode');
fclose($fp);
?>

<?php
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$fp = fopen("$DOCUMENT_ROOT/text.txt",'a+');
fwrite($fp,'a+ mode');
fclose($fp);
?>


•采用w+模式写入文本“w+ mode”
<?php
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$fp = fopen("$DOCUMENT_ROOT/text.txt",'w+');
fwrite($fp,'w+ mode');
fclose($fp);
?>


<?php
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$fp = fopen("$DOCUMENT_ROOT/text.txt",'r');//打开文件
if(file_exists("$DOCUMENT_ROOT/text.txt")){//当文件存在时,才读取内容
while(!feof($fp)){//判断文件指针是否到达末尾
$c = fgetc($fp);//每执行一次fgetc(),文件指针就向后移动一位
echo $c;//输出获取到的字节
}
}
fclose($fp);//关闭文件
?>

<?php
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$fp = fopen("$DOCUMENT_ROOT/text.txt",'r');
echo fgetc($fp);//只做一次输出
close($fp);
?>

<?php
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$fp = fopen("$DOCUMENT_ROOT/text.txt",'r');
echo fgetc($fp);//连续做三次输出
echo fgetc($fp);
echo fgetc($fp);
fclose($fp);
?>
<?php
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$fp = fopen("$DOCUMENT_ROOT/text.txt",'r');
echo fread($fp, 3);//一次输出三个字节即一个汉字字符(UTF-8)
fclose($fp);
?>

改成:
echo fread($fp, 6);

<?php
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT']
$fp = fopen("$DOCUMENT_ROOT/text.txt",'r');//打开文件
if(file_exists("$DOCUMENT_ROOT/text.txt")){//当文件存在时,才读取内容
while(!feof($fp)){//判断文件指针是否到达末尾
$line = fgets($fp);//返回一行文本,并将文件指针移动到下一行头部
echo $line."<br/>";//输出获取到的一行文本
}
}
fclose($fp);//关闭文件
?>

$line = fgets($fp,10);

<?php
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$fp = fopen("$DOCUMENT_ROOT/text.txt",'r');
fpassthru($fp);
fclose($fp);
?>

<?php
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$file_array = file("$DOCUMENT_ROOT/text.txt");//取到文件数组
foreach ($file_array as $value) {//输出数组元素
echo $value."<br/>";
}
?>

<?php
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
function print_file_pointer($fp){//定义一个打印文件指针位置的函数
echo " <br/>//此时文件指针的位置:";
echo ftell($fp)."<br/>";
}
$fp = fopen("$DOCUMENT_ROOT/text.txt",'r');
echo fgetc($fp);//通过fgetc连续输出三个字节
echo fgetc($fp);
echo fgetc($fp);
print_file_pointer($fp);//打印此刻文件指针的位置 echo fread($fp,6);//通过fread一次输出6字节
print_file_pointer($fp);//打印此刻文件指针的位置 echo fgets($fp); //通过fgets输出一整行
print_file_pointer($fp);//打印此刻文件指针的位置 fpassthru($fp); //一次性输出全部内容
print_file_pointer($fp);//打印此刻文件指针的位置 fseek($fp, 33);//使文件指针移动到33字节位置
print_file_pointer($fp);//打印此刻文件指针的位置 rewind($fp);//使文件指针移动到0字节位置(初始位置)
print_file_pointer($fp);//打印此刻文件指针的位置
$fclose($fp);
?>

<?php
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$fp = fopen("$DOCUMENT_ROOT/text.txt",'r');
while(!feof($fp)){
echo fgets($fp);
echo ftell($fp);
}
fclose($fp);
?>


【PHP】文件写入和读取详解的更多相关文章
- Linux文件权限与属性详解 之 一般权限
目录 一般属性 1. iNode: 3152621 2. 文件类型 3.文件访问权限 4. 链接数目: 5. 文件所有者 6. 文件所属组 7. 文件大小 8. 修改时间 9. 文件名称 Linux文 ...
- Linux文件权限与属性详解 之 chattr & lsattr
Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...
- Python基础-week03 集合 , 文件操作 和 函数详解
一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...
- 【转载】Linux命令-自动挂载文件/etc/fstab功能详解[转]
博客园 首页 新随笔 联系 订阅 管理 随笔 - 322 文章 - 0 评论 - 19 Linux命令-自动挂载文件/etc/fstab功能详解[转] 一./etc/fstab文件的作用 ...
- Linux文件权限与属性详解 之 SUID、SGID & SBIT
Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...
- VMware虚拟机文件(后缀)详解
VMware虚拟机文件(后缀)详解 虚拟机的文件管理由VMware Workstation来执行,一个虚拟机一般以一系列文件的形式储存在宿主机中,这些文件一般在由workstation为虚拟机所创建的 ...
- Linux 执行文件查找命令 which 详解
某个文件不知道放在哪里了,通常可以使用下面的一些命令来查找: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查 ...
- Struts2+Uploadify文件上传使用详解
Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.不过官方提供的实例是php版本的,本文将详细介绍Uploadify在java中的使用,您也可以点击下面的链接进行演示或下 ...
- 轻松学习Linux之Shell文件和目录属性详解
轻松学习Linux之Shell文件和目录属性详解 轻松学习Linux之理解Sitcky 轻松学习Linux之理解umask 轻松学习Linux之理解SUID&SGUID 本系列多媒体教程已完成 ...
随机推荐
- 解析新浪微博表情包的一套js代码
本文出自本人原创,转载请注明出处 /** * Created by Lemon on 2017/4/6. *//** * return 解析后的值 * analysis 参数 * obj.value: ...
- C#对文件操作(基本的读写以及压缩和解压)
主要是针对单个文件进行读写操作和压缩操作:用到的主要C#类有FileStream.FileInfo.StreamWrite.StreamRead.GZipStream. 字符数组和字节数组的转换: ] ...
- IDEA 根据数据库表 生成 Model实体
首先在 Idea中 配置数据源,测试ok(过程略) idea窗口中左下角是否 有显示Persistence 窗口 如果没有显示就要如下方法 添加显示: File - > Project Str ...
- 日历上添加活动通知(Asp.net)
<div id="calendar_contain"> </div> <script language="javascript" ...
- python入门编程之基础
Python, 是一种面向对象.解释型计算机程序设计语言.Python语法简洁清晰,特色之一是强制用空白符作为语句缩进.Python的设计哲学是"优雅"."明确" ...
- 【卸载】oracle卸载
Oracle卸载比较麻烦,不能简单卸载就完成了,有时没有卸载完整,下次安装不能很好的安装: 当然Oracle卸载也没有那么难,只是步骤比较多.Oracle10g还是Oracle11g卸载步骤都是一样的 ...
- 【原】Unity Shader VS UDK Material Editor
UDK 的材质编辑器十分好用,毕竟是所见即所得的.虽然unity也有类似第三方插件,但易用性还是差很多,下面主要是,把一些常见表达式概念对应起来. 1. UDK CameraVector (相机位向量 ...
- MyBatis-plus 代码自动生成器
MyBatis-plus 代码自动生成器 1.添加pom文件依赖 <!-- Mybatis-Plus 自动生成实体类--> <dependency> <groupId& ...
- 什么是体数据可视化(Volume data visualization)?及体绘制的各种算法和技术的特点?
该文对体数据进行综述,并介绍了体数据的各种算法和技术的特点. 前言 由于3D数据采集领域的高速发展,以及在具有交互式帧率的现代化工作站上执行高级可视化的可能性,体数据的重要性将继续迅速增长. 数据集可 ...
- PHP学习笔记-4(时间戳)
在学习PHP时间戳的时候,发现了一个有趣的现象,就是发现用strtotime()这个函数返回的时间戳跟人家的不一样,以为是自己哪里写错了,后来发现不是这样的. 是因为设置的时区不同,从而导致了时间显示 ...