这两天开始跟着圣经重新走过,学到了数据的存储和检索,就书中所出现的函数做一个总结:
另外一种是b模式,是一种二进制模式——用于与其他模式进行连接,如果文件系统能够区分二进制文件和文本文件,可能会使用它。Windows 系统可以区分,而Unix则不区分。推荐一只使用这个选项,以便获得最大程度的可移植性。二进制模式是默认的模式。
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 以及以后的版本所支持,仅能用于本地文件。 |
讲数据写入一个文件(从文件读数据),有以下三个步骤:
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() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内