resource fopen(string filename,string mode[,bool use_include_path[,resource zcontext]) //打开文件
★打开一个文件为了只读、只写或者是读和写。
★如果要写一个文件,可以覆盖所有已有的文件内容,或者需要将新数据追加到文件末尾。
★如果在一个区分二进制文件和纯文本文件的系统上写一个文件,还必须指定采用的方式。
函数fopen()也支持以上三中房四海的组合,只需要在第二个参数中提供一个字符串,指定将对文件进行的操作即可。在下表中列出了可以使用的文件模式及其意义。
第三个参数是可选的,如果资源位于本地文件系统,PHP则认为可以使用本地路径或是相对路径来访问此资源。如果将这个参数设置为1,这样就会使PHP考虑配置指令include_path中指定的路径(在PHP的配置文件中设置)。
第四个参数也是可选的,fopen()函数允许文件名称以协议名称开始,例如“http://”,并且在一个远程位置打开该文件。通过设置这个参数,还可以支持一些其他的协议。
如果fopen()函数成功地打开一个文件,该函数将返回一个指向这个文件的文件指针。对该文件进行操作所使用的读、写以及其他的文件操作函数,都要使用这个资源来访问该文件。如果打开文件失败,则返回FALSE。函数fopen()的是哟on个示例如下:
<?php //使用绝对路径打开file.txt文件,选择只读模式,并返回资源$handle $handle = fopen("/home/rasmus/file.txt", "r"); //访问文档根目录下的文件,也以只读模式打开 $handle = fopen("$_SERVER['DOCUMENT_ROOT']/data/info.txt","r"); //在Windows平台上,转义文件路径的每个反斜线,或者用斜线,以二进制和只写模式组合 $handle = fopen("C:\\data\\file.gif", "wb"); //使用相对路径打开file.txt文件,选择只读模式,并返回资源$handle $handle = fopen("../data/info.txt", "r"); //打开远程文件,使用HTTP协议只能以只读的模式打开 $handle = fopen("http://www.example.com", "r"); //使用FTP协议打开远程文件,如果FTP服务器可写,则可以以写的模式打开 $handle = fopen("ftp://user:[email protected]", "w"); ?>
②函数fclose()
资源类型属于PHP的基本类型之一,一旦完成资源的处理,一定要将其关闭,否则可能会出现一些预料不到的错误。函数fclose()就会撤销fopen()打开的资源类型,成功时返回TRUE,否则返回FALSE。参数必须是使用fopen()或fsockopen()函数打开的已存的文件指针。在目录操作中opendir()函数也是开启一个资源,使用closedir()将其关闭。