一、文件读写
1、resource fopen ( string filename, string mode )
打开一个文件或URL,并返回其句柄(handle)。其中mode可以取以下值:
'r' 以只读方式打开,并将指针指向文件开头。
'r+' 以读写方式打开,并将指针指向文件开头。
'w' 以只写方式打开,并将指针指向文件结尾。文件的长度将被截为0,如果文件不存在则尝试创建。
'w+' 以读写方式打开,并将指针指向文件结尾。文件的长度将被截为0,如果文件不存在则尝试创建。
'a' 以只写方式打开,并将指针指向文件结尾。如果文件不存在则尝试创建。
'a+' 以读写方式打开,并将指针指向文件结尾。如果文件不存在则尝试创建。
在读写文件时遇到换行会使用/r、/n或/r/n,这要根据操作系统来决定。如Windows的换行是/r/n,Unix的换行是/n。在Windows操作系统中读写文件时,可以通过设定't'参数(如"wt"、"r+t"或"rt+"等)来自动地将/n转换为/r/n。如果不想自动转换,则可设置参数'b'(如"wb","r+b","rb+"等)来强制用二进制模式(即不进行转换)来读写文件。一般地,在读写二进制文件如图象文件、程序文件等,都应使用'b'参数。
2、bool fclose ( resource handle )
关闭文件,释放句柄
3、string fread ( resource handle, int length )
从当前指针开始读取指定长度的字符串并返回该字符串。
4、int fwrite ( resource handle, string string [, int length] )
或int fputs ( resource handle, string string [, int length] )
在当前指针处写入指定长度的字符串并返回写入字符串的长度。如果发生错误则返回false。
5、string fgetc ( resource handle )
从当前指针读取一个字符。
6、string fgets ( resource handle [, int length] )
从当前指针读取一行字符串(包括换行符)。如果指定了length则读取该长度的字符串并在结尾添加一个换行符。
7、string fgetss ( resource handle [, int length [, string allowable_tags]] )
从当前指针读取一行字符串(包括换行符)并去除其中的HTML标签。如果指定了length则读取该长度的字符串并在结尾添加一个换行符。allowable_tags用来指定不用去除的标签,如"<p>"、"<p><a>"等。
8、array file ( string filename )
读取全部文件并按行为单位返回一个数组。
9、string file_get_contents ( string filename )
读取全部文件并返回字符串。
10、int file_put_contents ( string filename, mixed data )
讲数据写入文件并返回写入的字符数。注意,文件原内容将被删除。
12、bool fflush ( resource handle )
强制将文件缓存中的内容全部写入文件。
13、mixed fscanf ( resource handle, string format [, mixed &...] )
读取一行并按照格式format解析该行中的数据。详情可参照sscanf()函数。
14、int readfile ( string filename )
读取全部文件并输出到网页。相当于echo file_get_contents();
15、int fpassthru ( resource handle )
从当前指针开始将所有文件读出并输出到网页。
16、bool flock ( resource handle, int operation [, int &wouldblock] )
为防止在读写文件的时候其他进程也来读写该文件,可以在操作时将该文件用flock()函数锁定。operation可以取以下值:
LOCK_SH 共享锁,即其他进程可读不可写。
LOCK_EX 排他锁,即其他进程不可读也不可写。
LOCK_UN 解锁。
二、文件指针
1、bool feof ( resource handle )
判断是否已到文件结尾。
4、bool rewind ( resource handle )
重置文件指针。
2、int ftell ( resource handle )
返回当前指针位置。
3、int fseek ( resource handle, int offset [, int whence] )
将文件指针移动到指定位置。whence可以是以下值:
SEEK_SET(默认) 将指针移动到offset位置
SEEK_CUR 将指针移动到当前指针位置加offset的位置
SEEK_END 将指针移动到文件结尾位置加offset的位置,即如果你要移动到文件结尾以前,那offset应该设置为负数。
三、CSV文件读写
CSV是Comma Separate Values,即用逗号分隔的数据。Microsoft Excel可以读写这些文件,PHP也可以。
1、array fgetcsv ( resource handle )
读取一行数据并以数组的形式返回。
2、int fputcsv ( resource handle, array fields )
将数组fields中的数据以CSV的形式写到文件中。
四、文件操作
1、bool file_exists ( string filename )
判断文件是否存在。
2、bool copy ( string source, string dest )
复制文件。成功返回true,失败返回false。
3、bool unlink ( string filename )
删除文件。
4、bool rename ( string oldname, string newname )
重命名文件。
5、bool ftruncate ( resource handle, int size )
将文件截为指定长度。
6、array glob ( string pattern )
用通配符来搜索文件名。如:"*.php"将返回当前目录下所有的.php文件的文件名。
五、临时文件
1、resource tmpfile ( void )
以"w+"模式打开一个临时文件,用fclose()关闭时该文件被删除。
2、string tempnam ( string dir, string prefix )
生成一个在指定目录("/"为临时目录)中的、且带有前缀prefix的临时文件名。
3、bool is_uploaded_file ( string filename )
判断一个文件是否为上传的文件。
4、bool move_uploaded_file ( string filename, string destination )
先判断一个文件是否为上传的文件,如果是则移动这个文件。
六、文件信息
1、string basename ( string path [, string suffix] )
从一个路径名中获取文件名。如果suffix被设置,则返回的文件名中将不包含扩展名。如:
<?php
$path = "/usr/Apache2/htdocs/index.php";
$file = basename($path); // $file的值为"index.php"
$file = basename($path, ".php"); // $file的值为"index"
?>
2、int filesize ( string filename )
返回文件文件大小(字节数)。
3、string filetype ( string filename )
返回文件类型。可能是"file"、"dir"或"unknown"。
4、int fileatime ( string filename )
返回文件最后访问时间(以时间戳的形式)。
5、int filemtime ( string filename )
返回文件最后修改时间(以时间戳的形式)。
6、bool touch ( string filename [, int time [, int atime]] )
该函数用来更改文件的最后访问时间和修改时间。如果time没设置,则改为当前时间。如果atime被设置,则将最后访问时间改为atime。
7、array fstat ( resource handle )
返回文件信息。元素列表如下:
size 文件大小
atime 最后访问时间
mtime 最后修改该时间
8、array stat ( string filename )
同fstat(),但不用打开文件,只需提供文件名。
9、void clearstatcache ( void )
清除文件信息缓存,以获取文件的最新信息。
10、mixed pathinfo ( string path [, int options] )
返回path中所包含的信息,如果options未指定,则返回一个数组,包含以下元素:
dirname 路径名
basename 文件名
extension 扩展名
如果options被设为PATHINFO_DIRNAME、 PATHINFO_BASENAME或PATHINFO_EXTENSION,则返回该指定信息。
11、bool is_dir ( string filename )
判断filename是否为目录。
12、bool is_file ( string filename )
判断filename是否为文件。
13、bool is_readable ( string filename )
判断filename是否可读。
14、bool is_writable ( string filename )
或bool is_writeable ( string filename )
判断filename是否可写。
七、目录操作
1、string dirname ( string path )
返回路径名。如"/php/php.php"会返回"/php"。
2、bool mkdir ( string pathname )
创建一个目录。
3、bool rmdir ( string dirname )
删除一个目录。
八、磁盘信息
1、float disk_total_space ( string directory )
返回磁盘总容量,如disk_total_space("C:");
2、float disk_free_space ( string directory )
或float diskfreespace ( string directory )
返回磁盘剩余容量。
九、其他
1、resource popen ( string command, string mode )
打开一个命令行并进行交互。
2、int pclose ( resource handle )
关闭命令行交互。
3、int set_file_buffer ( resource stream, int buffer )
设置文件缓存,默认为8K。
4、array parse_ini_file ( string filename [, bool process_sections] )
用以转换.ini文件。如:
sample.ini:
; This is a sample configuration file
; Comments start with ';', as in php.ini
[first_section]
one = 1
five = 5
animal = BIRD
[second_section]
path = "/usr/local/bin"
URL = "http://www.example.com/~username"
index.php:
<?php
define('BIRD', 'Dodo bird');
// Parse without sections
$ini_array = parse_ini_file("sample.ini");
print_r($ini_array);
// Parse with sections
$ini_array = parse_ini_file("sample.ini", true);
print_r($ini_array);
?>
输出:
Array
(
[one] => 1
[five] => 5
[animal] => Dodo bird
[path] => /usr/local/bin
[URL] => http://www.example.com/~username
)
Array
(
[first_section] => Array
(
[one] => 1
[five] => 5
[animal] = Dodo bird
)
[second_section] => Array
(
[path] => /usr/local/bin
[URL] => http://www.example.com/~username
)
)
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。