Learning PHP -数据的存储与检索
存储数据有两种基本方法:保存到普通文件,或者保存到数据库中。
数据写入:
1、打开文件。如果文件不存在,需要先创建它。2、将数据写入这个文件。3、关闭这个文件。
数据读出:
1、打开文件。如果这个文件不能开,就应该意识到这一点并且正确地推出。2、从文件中读出数据。3、关闭这个文件。
选择文件模式:
当打开一个文件的时候,有以下三种选择。
1、打开文件为了只读、只写或者读和写。2、如果要写一个文件,你可能希望覆盖已有的文件内容,或者仅仅将新的数据追加到未见末尾。如果该文件已经存在,也可以终止程序的执行而不是覆盖该文件。3、如果希望在一个区分了二级制方式和纯文本方式的系统上写一个文件,还必须指定采用的方式。
函数fopen()支持以上三种方式的组合。
根据服务器设置不同,可以通过如下三种方式得到文档根目录:
$_SERVER['DOCUMENT_ROOT']$DOCUMENT_ROOT$HTTP_SERVER_VARS['DOCUMENT_ROOT']
对于表单数据,第一个风格是首选的。
打开文件fopen(path,mode)
写文件:fwrite($fp, &outputstring)
关闭文件:fclose($fp)
fopen()函数的文件模式
r 只读 读模式——打开文件,从文件头开始读r+ 只读 读写模式——打开文件,从文件头开始读写w 只写 写模式——打开文件,从文件头开始读。如果该文件已经存在,将删除所有文件已有内容。如果该文 件不存在,函数将创建这个文件。x 谨慎写 写模式打开文件,从文件头开始写。入如果文件已经存在,该文件将不会被打开,fopen()函数将返回false,而且PHP将产生一个警告。x+ 谨慎写 读/写模式打开文件,从文件头开始写。入如果文件已经存在,该文件将不会被打开,fopen()函数将返回false,而且PHP将产生一个警告。a 追加 追加模式——打开文件,如果该文件已有内容,将从文件末尾开始追加(写),如果该文件不存在,函数将创建这个文件a+ 追加 追加模式——打开文件,如果该文件已有内容,将从文件末尾开始追加(写),如果该文件不存在,函数将创建这个文件b 二进制 二进制模式——用于与其他模式进行连接。如果文件系统能够区分二进制文件和文本文件,你可能会使用它。可以获得最大程度的可移植性。二进制模式是默认的模式。t 文本 用于与其他模式的结合。这个模式只是windows系统下一个选项。
以只读模式打开文件:fopen()
知道何时读完文件:feof()
每次读取一行数据:fgets()、fgetss()和fgetcsv()
读取整个文件:readfile()、fpassthru()和file()
第一种方式是readfile()。readfile($path);调用readfile()函数将打开这个文件,并且将文件内容输出到标准输出中,然后再关闭这个文件。第二种方式是fpassthru()。要使用这个函数,必须先使用fopen()打开文件。然后将文件指针作为参数传递给fpassthru(),这样就可以把文件指针所指向的文件内容发送到标准输出。然后再将这个文件关闭。如果读操作成功,函数返回true,否则返回false。第三种读取整个文件的函数是file().它和readfile一样。不过它是把结果发送到一个数组中。$filearray = file($path);第四种选择是使用file_get_contents()函数。这个函数与readfile()相同,但是该函数将以字符串的形式返回文件内容,而不是将文件内容回显到浏览器中。
读取一个字符:fgetc()
参考资料:
PHP&MySQL.Web