PHP中文件操作(1)--打开/读取文件

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/>";
}

  

时间: 2024-10-09 09:58:29

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

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

//配置php.ini 开启allow_url_fopen选项 //访问的文件有可读或者可写的权限 //$f = fopen('http://www.example.com/a.txt','rb'); //$f = fopen('http://www.example.com/a.txt','wb'); //fread($f,'读取的长度'); //访问远程文件 //打开远程文件 $f = fopen('http://www.baidu.com', rb); //判断打开文件是否成功 if (!$

文件操作之打开文件

一.打开文件 obj = open('文件路径','打开文件方式') 打开文件方式有: r:只读方式 r+:相当于rw w:写入方式 w+:仍然等于w,无意义 a:追加方式 a+:仍然等于a,无意义 open()是Python的内建函数,提供了初始化输入/输出(I/O)的操作通用接口,成功打开一个文件后返回一个对象,否则发生IOError异常,file()是一个工厂函数,与open方法一样,可以互换,但是一般推荐用open(),因为open()是Python内建函数.file后期会被合并掉其他函

C#中winform使用相对路径读取文件的方法

这篇文章主要介绍了C#中winform使用相对路径读取文件的方法,实例分析了C#使用相对路径读取文件的技巧与实际应用,需要的朋友可以参考下 本文实例讲述了C#中winform使用相对路径读取文件的方法.分享给大家供大家参考.具体分析如下: 目录结构如下图所示:   方法一:由于生成的exe文件在bin\debug目录下,可以使用向上查找目录的方式获取要读取的xml文件 复制代码代码如下: string haarXmlPath = @"../../haarcascade_frontalface_a

asp.net 文件操作小例子(创建文件夹,读,写,删)

静态生成要在虚拟目录下创建文件夹 来保存生成的页面 那么就要对文件进行操作 一.创建文件夹 using System.IO; string name = "aa"; string path = Server.MapPath("") + "\\" + name; if (Directory.Exists(path)) { Response.Write("<script>alert('文件夹已存在了!');history.go(

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

说明:使用Ajax方式上传,文件不能过大,最好小于三四百兆,因为过多的连续Ajax请求会使后台崩溃,获取InputStream中数据会为空,尤其在Google浏览器测试过程中. 1.简单分段读取文件为Blob,ajax上传到服务器 <div class="container"> <div class="panel panel-default"> <div class="panel-heading">分段读取文件

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

我们知道内存映射文件读取是各种读取方式中速度最快的,但是内存映射文件读取的API里没有提供按行读取的方法,需要自己实现.下面就是我利用内存映射文件实现按行读取文件的方法,如有错误之处请指出,或者有更好更快的实现方式麻烦也提供一下代码. 代码如下: public class testMemoryMappedFile { public static void main(String[] agrs) throws IOException{ RandomAccessFile memoryMappedFi

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

/** * PHP高效遍历文件夹 * @param string $path 目录路径 * @param integer $level 目录深度 */ function fn_scandir($path = './', $level = 0) { $file = new FilesystemIterator($path); $filename = ''; $prefix = ''; $url = ''; foreach ($file as $fileinfo) { $filename = $fi

2-scala文件操作--自动关闭打开的资源,读取properties文件

简介 使用scala的loan pattern自动关闭打开的资源 读取properties文件 依赖的jar 使用scala_arm库自动关闭资源文件时,需要引入以下依赖: <dependency> <groupId>com.jsuereth</groupId> <artifactId>scala-arm_${scala.binary.version}</artifactId> <version>1.4</version>

C++文件操作:打开文件和写入文件 zz

http://www.weixueyuan.net/view/5825.html 如果程序的运行结果仅仅显示在屏幕上,当要再次查看结果时,必须将程序重新运行一遍:而且,这个结果也不能被保留. 如果希望程序的运行结果能够永久保留下来,供随时查阅或取用,则需要将其保存在文件中. 文件分类 外部文件和内部文件 外部文件:指磁盘文件,也是通常所谓的文件. 内部文件:指在程序中运行的文件,更正式的称谓是“文件流对象”. 程序中操作的是内部文件,最后保存的是外部文件. 文本文件和二进制文件 文本文件:由字符