文件操作函数小结

原创 2013年12月04日 14:30:33
这两天开始跟着圣经重新走过,学到了数据的存储和检索,就书中所出现的函数做一个总结:
fopen()  fopen()函数打开文件或者URL,如果打开失败,则返回false。
           语法如下:
          fopen(filename,mode,include_path,context)其中前两个是必须的,分别代表文件名字或者url和打开文件的方式。
例子:

     
<?php
$file = fopen("test.txt","r");
$file = fopen("/home/test/test.txt","r");
$file = fopen("/home/test/test.gif","wb");
$file = fopen("http://www.example.com/","r");
$file = fopen("ftp://user:password@example.com/test.txt","w");
?>
然后就是那几种读写方式,有r,r+,w,w+,a,a+,b,x,x+,t,附上这几种模式的解释
  
mode说明
"r"只读方式打开,将文件指针指向文件头。
"r+"读写方式打开,将文件指针指向文件头。
"w"写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
"w+"读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。
"a"写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
"a+"读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
"x"

创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。

这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。

此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。

"x+"

创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。

这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。

此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。

另外一种是b模式,是一种二进制模式——用于与其他模式进行连接,如果文件系统能够区分二进制文件和文本文件,可能会使用它。Windows 系统可以区分,而Unix则不区分。推荐一只使用这个选项,以便获得最大程度的可移植性。二进制模式是默认的模式。
       讲数据写入一个文件(从文件读数据),有以下三个步骤:
      1)打开这个文件,如果不存在,则创建
      2)讲数据写入这个文件(从文件中读出数据)
      3)关闭这个文件
然后就是对文件进行读写操作了。这类的函数还是蛮多的。
比如fwrite(),file_put_content(),fputs(),这三个函数都是写文件的功能,返回值都是字符串长度。不同的是file_put_content不需要fopen,可以直接使用.举例如下:
        <?php
             //可以直接使用
             //echo file_put_contents("test.txt","Hello World");
             $fp=fopen("test.txt","w");
             echo fwrite($fp,"hello");
              //fputs()是fwrite()的别名
              //echo fputs($fp,"hello");
              fclose($fp);
          ?>
关闭文件是函数fclose($fp)。
另外还有其他一些常用函数:
basename() 函数返回路径中的文件名部分。

<?php
$path = "/testweb/home.php";

//显示带有文件扩展名的文件名,输出home.php
echo basename($path);

//显示不带有文件扩展名的文件名,输出home
echo basename($path,".php");
?> 

dirname() 函数返回路径中的目录部分。

    echo dirname("c:/testweb/home.php");//输出c:/testweb

pathinfo() 返回一个关联数组包含有 path 的信息 

  print_r(pathinfo("/testweb/test.txt"));
输出结果是:
Array
(
[dirname] => /testweb
[basename] => test.txt
[extension] => txt
)
filetype(filename)   filetype() 函数返回指定文件或目录的类型。
filesize(filename)    filesize() 函数返回指定文件的大小。
 fileatime(): 最后访问时间
 filectime(): 最后改变时间(任何数据的修改)
 filemtime(): 最后修改时间(指仅是内容修改) 
 feof()  feof() 函数检测是否已到达文件末尾 (eof)
file_get_contents()   函数把整个文件读入一个字符串中
fgets(file,length)  从文件指针中读取一行
 fgetss(file,length,tags) 从打开的文件中读取一行并过滤掉 HTML 和 PHP 标记  length默认是1024字节
file_exists() 函数检查文件或目录是否存在
file() 函数把整个文件读入一个数组中   file() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内

相关文章推荐

文件操作小结(C语言版)

1.文件打开——fopen()    原型:FILE * fopen(const char*filename, const char*mode);    功能:打开以filename所指向的字符串...

c文件操作函数详解

  • 2014年06月03日 19:32
  • 30KB
  • 下载

c函数写的文件操作

  • 2012年07月15日 20:45
  • 1KB
  • 下载

Delphi7文件操作常用函数一

1. AssignFile、Erase AssignFile procedure AssignFile(var F; FileName: string);:给文件变量连接一个外部文件名。这里需要注...
  • kimifdw
  • kimifdw
  • 2013年02月21日 11:32
  • 6257

C语言文件操作函数大全

  • 2010年11月26日 15:10
  • 64KB
  • 下载

文件操作函数

  • 2015年06月23日 12:31
  • 6KB
  • 下载

Python联系笔记2[列表,元组,集合,字典,函数,文件操作,模块,类]

列表   1.定义   #定义一个空列表 >>>list = [] #定义一个包含元素的列表,元素可以是任意类型,包括数值类型,列表,字符串等均可。   2.索引   #下标是从0...
  • HnSoi
  • HnSoi
  • 2017年07月14日 18:52
  • 433

C\C++文件操作——函数详解

  • 2012年04月21日 16:01
  • 488KB
  • 下载

Python基本语法_文件操作_读写函数详解

目录目录 软件环境 file文件对象 open文件操作 读文件 read读取所有文件内容 readline获取一行内容 readlines读取所有文件内容 readreadlinereadlines的...
  • Jmilk
  • Jmilk
  • 2015年11月22日 22:18
  • 3406
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:文件操作函数小结
举报原因:
原因补充:

(最多只允许输入30个字)