文件操作函数小结

这两天开始跟着圣经重新走过,学到了数据的存储和检索,就书中所出现的函数做一个总结:
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() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值