1.打开文件(fopen)

语法:resource  $fp=fopen(文件地址,模式),返回的是文件指针(file pointer)

模式 含义
r 只读
w 写(清空重写)
a 追加
$fp = fopen('./aa.txt', "r");   //只读

$fp = fopen('./aa.txt', "w");   //写(清空重写)

$fp = fopen('./aa.txt', "a");   //追加

2.读文件(fread ,file_get_contents)

语法:string fread ( $fp , 文件大小 )

file_get_contents  将整个文件读入一个字符串

语法:string file_get_contents ( string $filename)

<?php
$filename = './aa.txt'; echo "<br><br>******第一种读取方法********<br>";
$fp = fopen($filename, "r");
$con = fread($fp, filesize($filename));
//默认情况下显示到网页的内容不会换行,需替换换行符\r\n -> <br/>
$con = str_replace("\r\n", "<br/>", $con);
echo "$con";
//关闭指针
fclose($fp); echo "<br><br>******第二种读取方法,循环读取(适用于大文件)********<br>";
$fp = fopen($filename, "r");
//设置buffer一次读取1024个字节
$buffer = 1024;
//判断文件指针是否到了文件结束的位置
while (!feof($fp)) {
//读
$con = fread($fp, $buffer);
//替换换行符
$con = str_replace("\r\n", "<br/>", $con);
echo "$con";
}
//关闭指针
fclose($fp); echo "<br><br>******第三种读取方法********<br>";
$con = file_get_contents($filename);
//替换换行符
$con = str_replace("\r\n", "<br/>", $con);
echo "$con";

结果:

3.fgets():读取一行,指针下移一行

$filename = "aa.txt";
$fp = fopen($filename, 'r');
while (!feof($fp)) {
echo fgets($fp)."<br/>";
}

结果:

$filename = "aa.txt";
fseek($fp, 0); //将文件指针移到文件最前面
while (!feof($fp)) {
echo fgets($fp)."<br/>";
}

结果:

4.getc():获取一个字符

 

$filename = "aa.txt";
$fp = fopen($filename, 'r');
while (!feof($fp)) {
//获取一个中文字符,占用3个字节
echo fqetc($fp)."<br/>";
}

  

PHP中文件操作(1)--打开/读取文件的更多相关文章

  1. PHP文件操作 之打开远程文件

    //配置php.ini 开启allow_url_fopen选项 //访问的文件有可读或者可写的权限 //$f = fopen('http://www.example.com/a.txt','rb'); ...

  2. python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件

    python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...

  3. matlab文件操作及读txt文件(fopen,fseek,fread,fclose)

    文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件.MATLAB提供了一系列低层输入输出函数,专门用于文件操作. 1.文件的打开与关闭 1)打开文件 在读写文件之前,必须先用f ...

  4. MATLAB文件操作及读txt文件

    转自:http://blog.csdn.net/vblittleboy/article/details/8049748 文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件.MA ...

  5. 【温故而知新:文件操作】C#的文件读写相关

    StreamReader类以及其方法ReadLine,Read,ReadToEnd的分析 首先StreamReader类的构造参数非常丰富在这里,我觉得最常用的就是StreamReader(Strea ...

  6. HTML5 文件域+FileReader 分段读取文件并上传到服务器(六)

    说明:使用Ajax方式上传,文件不能过大,最好小于三四百兆,因为过多的连续Ajax请求会使后台崩溃,获取InputStream中数据会为空,尤其在Google浏览器测试过程中. 1.简单分段读取文件为 ...

  7. Python---进阶---文件操作---按需求打印文件的内容

    一. 编写一个程序,当用户输入文件名和行数的时候,将该文件的前N行内容打印到屏幕上 input 去接收一个文件名 input 去接收一个行数 ----------------------------- ...

  8. Java利用内存映射文件实现按行读取文件

    我们知道内存映射文件读取是各种读取方式中速度最快的,但是内存映射文件读取的API里没有提供按行读取的方法,需要自己实现.下面就是我利用内存映射文件实现按行读取文件的方法,如有错误之处请指出,或者有更好 ...

  9. 【O】VSS 2005上传PDF文件之后,打开提示文件损坏或者内容为空

    问题: VSS 2005上传PDF文件之后,打开提示文件损坏或者内容为空: 解决方式: 在vss的客户端的tools-option中,file type选项卡里,在binary file文本框中,加入 ...

  10. php高效遍历文件夹、高效读取文件

    /** * PHP高效遍历文件夹(大量文件不会卡死) * @param string $path 目录路径 * @param integer $level 目录深度 */ function fn_sc ...

随机推荐

  1. apicloud 基础

    时间成本  人力成本  很多人想开发app  又碍于时间和金钱成本 . 本色对app  要求不高的话. 混合app 开发是一种很好的方式. apicloud  就是一种很好的方式. apicloud ...

  2. Cookie、Session和Cache

    一.Cookie Cookie是保存客户端的一组数据,主要用来保存用户的个人信息,主要存放浏览器请求服务器时的请求信息,这些信息是非敏感信息.主要用于当用户访问您的系统时,应用程序可以检索以前存储的信 ...

  3. 自己实现简单的RSA秘钥生成与加解密(Java )

    最近在学习PKI,顺便接触了一些加密算法.对RSA着重研究了一下,自己也写了一个简单的实现RSA算法的Demo,包括公.私钥生成,加解密的实现.虽然比较简单,但是也大概囊括了RSA加解密的核心思想与流 ...

  4. python学习笔记04-格式化输出

    使用占位符来进行格式化输出 %S %d %f Exit()  程序退出函数

  5. python学习笔记05-列表

    Python3已经不区分整型和长整型 列表: 查  用切片查  [n:n:n] A[1:2]  只能取出一个数  顾头不顾尾 存在步长  可以按步长1取  也可以按设置其他步长取 若要逆序取数  步长 ...

  6. iOS-UIView一些坐标和位置方法封装

    新建基于UIView扩展类 UIView+wkjFrame,此类是为了方便获取一些基于UIView类UI控件的坐标和位置的简化,直接引用即可 UIView+wkjFrame.h - (CGPoint) ...

  7. php判断是否使用手机访问

    直接上代码 /** * 检测是否使用手机访问 * @access public * @return bool */ public function isMobile() { if (isset($_S ...

  8. Go语言学习笔记(2)——变量、常量

    1. 变量(变量由字母.数字和下划线组成,且不能以数字开头!)      1.1 第一种 var name type // 未赋值时使用默认值 name = value 1.2 第二种: 根据所赋的值 ...

  9. MySQL密码修改(四)

    一.修改破解MySQL密码 1.1:修改密码 在知道原始密码的情况下 [root@web1 ~]# mysqladmin -uroot -p -S /home/mysql/3307/mysql.soc ...

  10. linux 手动释放buff/cache

    为了解决buff/cache占用过多的问题执行以下命令即可 syncecho 1 > /proc/sys/vm/drop_cachesecho 2 > /proc/sys/vm/drop_ ...