第二讲文件操作函数(第139讲)

一:file_get_contents(filename) 和 file_put_contents(filename, data)

 1 <?php
 2 /**
 3 file_get_contents(filename)  可以获取一个文件的内容或一个网络资源的内容
 4 该函数是读取文件/网络资源比较快捷方式,它封装了打开/关闭等操作
 5 注意:该函数会把文件中的内容一次性全部读出,然后放到内存中,因此,过大的文件慎重用该函数打开
 6 */
 7 //当前目录下的a.txt文件
 8 $file = "./a.txt";
 9 //打开a.txt文件
10 $str =  file_get_contents($file);
11 echo $str;
12 //读取网络资源
13 $url = ‘http://www.baidu.com‘;
14 echo file_get_contents($url);
15 /**
16 file_put_contents(filename, data)  该函数用来把内容写入到文件
17 该函数也封装了打开/关闭细节操作
18 */
19 //将a.txt文件中的内容写入到当前目录下的b.txt文件中
20 file_put_contents(‘./b.txt‘, $str)
21 ?>

二:fopen(filename, mode)   fwrite(handle, string)   fclose(handle)

 1 <?php
 2 /**
 3 fopen(filename, mode) 打开一个文件,返回一个句柄资源
 4 第一个参数是文件名;第二个参数是文件打开“模式”,如只读模式,读写模式,追加模式等
 5 返回值:资源
 6 */
 7 //获取文件名
 8 $file = ‘a.txt‘;
 9 //以只读的方式打开该文件
10 $fh = fopen($file, ‘r‘);
11 //沿着上面返回的$fh这个资源通道来读文件
12 echo  fread($fh, 10);
13 /**
14 fwrite(handle, string) 向打开的文件中写入内容
15 */
16 //返回int(0),说明没有成功写入
17 //原因:在于第2个Mode参数,选的r,即只读打开。
18 var_dump(fwrite($fh, ‘写入的内容!‘));
19 /**
20 fclose(handle)  关闭文件资源
21 */
22 fclose($fh);
23 /**
24 r+ 读写模式。 把指针指向文件头
25 注意:从文件头写入时,会覆盖原文件中头部相应的内容
26 */
27 $file = ‘a.txt‘;
28 $fh = fopen($file, ‘r+‘);
29 fwrite($fh, ‘hello‘);
30 fclose($fh);
31 /**
32 w:写入模式  该模式无法读取文件中的内容
33 该模式会把文件先清空,并将指针停在文件的开头出
34 */
35 $file = ‘a.txt‘;
36 $fh = fopen($file, ‘w‘)
37 fwrite($fh, ‘hello‘);
38 fclose($fh);
39 /**
40 a 追加模式。该模式会把文件指针放在文件的最后。可以写入内容
41 */
42 $file = ‘a.txt‘;
43 $fh = fopen($file, ‘a‘);
44 fwrite($fh, ‘我是追加的内容‘);
45 ?>

三:文件读取的几种方式(custom.txt文件在附件中)

 1 <?php
 2 /**
 3 用文件操作函数,来批量处理客户名单
 4 */
 5 /*
 6 第一种方式:一次性读入文件的内容,然后分割成数组
 7 file_get_contents()获取文件中的内容
 8 再用\r\n切成数组
 9 注意:各操作系统下,换行符不一致
10 win: \r\n
11 linux:\n
12 mac:\r
13 */
14 //获取当前目录下的文件
15 $file = ‘./custom.txt‘;
16 //获取文件中的内容
17 $cont = file_get_contents($file);
18 //用explod分割
19 print_r( explode("\n", $cont) );
20 /* ********
21 第一种方法用\n区分,不能兼容各种系统,因此通用性不好。
22 而且file_get_contents()函数会将文件中的内容一次性读出,遇到大文件容易内存泄露
23 ******** */
24 /*
25 第二种方式:打开文件,每次读一行;
26 用fgets(handle)每次读一行
27 feod ,end of file 的意思 ,判断是否是文件的结尾
28 */
29 //可以在模式中加入b,表示以2进制来处理,可以不受各种系统的显示编码影响
30 $file = ‘./custom.txt‘;
31 $fh = fopen($file, "rb");
32 while(!feof($fh)){
33     echo fgets($fh);
34     echo "<br/>";
35 }
36 /*
37 第三种方式 一次性读入,并拆分成数组
38 file() 直接读取文件的内容,并按行拆成数组。并返回该数组
39 该函数和file_get_contents()一样也是一次性读入文件,文件较大时,慎用
40 */
41 $file = ‘./custom.txt‘;
42 $arr = file($file);
43 print_r($arr);
44 ?>

四:判断文件是否存在。获取文件的修改时间/创建时间

 1 <?php
 2 /**
 3 判断文件是否存在
 4 获取文件的创建时间/修改时间
 5 */
 6 $file = ‘custom.txt‘;
 7 if(file_exists($file)){
 8     echo $file.‘存在<br/>‘;
 9     //date将日期显示为指定的格式
10     echo ‘该文件上次修改时间是‘.date(‘Y-m-d H:i:s‘,filemtime($file));
11 }else{
12     echo ‘该文件不存在!‘;
13 }
14 ?>
时间: 2024-12-28 20:48:26

第二讲文件操作函数(第139讲)的相关文章

C语言第十二讲,文件操作.

C语言第十二讲,文件操作. 一丶文件操作概述 在操作系统中,我们的文档都称为文件.操作系统也为我们提供了接口进行操作.不同语言都是使用的相同的接口,只不过封装的上层接口不一样 操作文件的步骤 打开文件->读写文件->关闭文件. 二丶文件流的概述. 文件流称为 输入流和输出流.  其实就是从内存写数据到磁盘.和从磁盘读数据到内存. 内存->磁盘  称为输出流. 输出到磁盘 磁盘->内存 称为输入流.读取到内存. 三丶文件的打开和关闭. 1.操作原型. FILE *fopen(char

C语言样式的文件操作函数

使用C语言样式的文件操作函数,需要包含stdio.h头文件. 1.打开文件的函数: 1 //oflag的取值为“w”或“r”,分别表示以写或读的方式打开 2 FILE* fd = fopen(filename.c_str(), oflag); 2.写文件的函数原型: size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream ); 其中buffer是需要向文件中写入的内容在内存中的首地址指针,size是待写入

文件操作函数及文件流详解

这几天着重研究了一下文件操作函数的原理及实现,在这里与大家分享一下----开心 1.文件流 2.几种文件操作函数 (1)  fopen (2) fclose (3)fread (4)fwrite (5)fgets (6)fputs 先来看FILE结构体: #ifndef _FILE_DEFINED struct _iobuf { char *_ptr;//文件缓存的当前位置 int _cnt;//缓存里可以读取的字节数 char *_base;//文件缓存的起始位置 int _flag; int

总结文件操作函数-目录(三)-C语言

获取.改变当前目录: 原型为: #include <unistd.h>   //头文件 char *getcwd(char *buf, size_t size); //获取当前目录,相当于pwd命令 int chdir(const char *path); //修改当前目录,即切换目录,相当于cd命令 其中getcwd()函数:将当前的工作目录绝对路径复制到参数buf所指的内存空间,参数size为buf的空间大小. 在调用此函数时,buf所指的内存空间要足够大,若工作目录绝对路径的字符串长度超

PHP 文件操作函数大全

<?php 读取文件夹: $handler = opendir("c:\");//打开文件夹 while($dir = readdir($handler)){//遍历文件夹 echo $dir; } 读取文件夹: $handler = dir("c:/");//打开文件夹 while(false !== ($entry = $handler->read())){//遍历文件夹 echo $entry; } $handler->close();//关

C语言文件操作函数的编写

 编写文件操作的头文件 /************************************************************************** Copyright(C)    :2014-08-5 toto Filename       :file.h Author          :涂作权 Version         :V1.1 Date            :2014-08-05 Description     :文件操作的头文件 Others  

总结文件操作函数(二)-C语言

格式化读写: #include <stdio.h> int printf(const char *format, ...);                   //相当于fprintf(stdout,format,-); int scanf(const char *format, -); int fprintf(FILE *stream, const char *format, ...);      //中间的参数为写入文件的格式 int fscanf(FILE *stream, const

c语言文件操作函数

c语言文件操作函数大全 fopen(打开文件) 相关函数 open,fclose 表头文件 #include<stdio.h> 定义函数 FILE * fopen(const char * path,const char * mode); 函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态. mode有下列几种形态字符串: r 打开只读文件,该文件必须存在. r+ 打开可读写的文件,该文件必须存在. w 打开只写文件,若文件存在则文件长度清为0,即该文件

PHP5.4 文件操作函数 之 图片计数器的实例

1.访问文件或者文件夹相关函数 <?php echo filetype('c:\windows').'<br>'; ?> <?php echo filetype('c:\windows\regedit.exe').'<br>'; ?> <?php $arr=scandir("c:\\"); var_dump($arr); ?> <?php $arr=scandir("c:\\"); foreach($