【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 本系列多媒体教程已完成 ...
随机推荐
- 20155214 2016-2017-2 《Java程序设计》第5周学习总结
20155214 2016-2017-2 <Java程序设计>第5周学习总结 教材学习内容总结 1.错误会被包装为可抛出的对象,继承自java.lang.Throwable类. 2.可以利 ...
- 【Egret】实现web页面操作PC端本地文件操作
Egret 实现web页面操作PC端本地文件操作: http://edn.egret.com/cn/book/page/pid/181 //------------------------------ ...
- com.android.ide.common.process.PrecessException:org.gradle.process....finished with non-zero exit value 1
1.问题描述: 如图,在生成apk文件时出现如下错误, 2.原因分析: 我在网上搜了很多类似的问题,但试了又试也没有解决.然后我想上次编译时都没有出错,应该是最近的操作导致的错误. 3.解决办法: 把 ...
- Vuex随笔
最近在项目中使用到了vuex,但是在配合vue使用时,也还是遇到了不少的问题,最终还是解决了问题,因此写一篇随笔来记录期间遇到的问题吧 项目概要: Vuex中所储存的的状态如下: Vue中:有一个ta ...
- 如何在Windows系统下安装Linux虚拟机
先安装虚拟机这个软件,然后在虚拟机里装linux. 1,准备,下载VM虚拟机,链接: http://pan.baidu.com/s/1z79oU 密码: vbap.和linux镜像文件,可以下载ubu ...
- jsel、tl是什么
el 表达式是什么? * sun 制订的一种用于计算的一种规则,可以给元素赋值,也可以直接输出 el表达式:${el表达式}实验1:简单的使用el表达式获取值<%request.setAttri ...
- NuGet 自定义配置
默认配置: 默认配置文件的路径%APPDATA%\NuGet\NuGet.Config (DOS) 或 $ENV:APPDATA\NuGet\NuGet.Config (PowerShell),(例如 ...
- mpu6050参数获取
MPU6050其实就是一个 I2C 器件,里面有很多寄存器(但是我们用到的只有几个),我们通过读写寄存器来操作这个芯片.所以首要问题就是 STM32 和 MPU6050 的 I2C 通信.1.配置 S ...
- HDU 5008 求第k小子串
本题要求第k小的distinct子串,可以根据height数组,二分出这个第k小子串所在后缀的位置信息.由于题目要求子串起始下标尽可能小.所以再在rank数组中,二分出与当前后缀LCP大于等于所求子串 ...
- React-Native 之 redux 与 react-redux
前言 本文 有配套视频,可以酌情观看. 文中内容因各人理解不同,可能会有所偏差,欢迎朋友们联系我讨论. 文中所有内容仅供学习交流之用,不可用于商业用途,如因此引起的相关法律法规责任,与我无关,如文中内 ...