PHP5薄荷教程[22]文件操作函数

一、文件读写
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
        )

)
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值