跟我学习php文件和目录常用函数-下篇
在讲这些函数前,我先给大家说明一下。因为是了解函数的常用用法,因此会将某些函数的上下文content参数省略,以方便大家更轻松更快的掌握函数用法。我后面也会有对上下文的讲解,敬请期待哦
1> bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false )
新建目录
- $pathname, 目录路径
- $mode, 设置权限, 0777表示最大权限
$recursive, 是否递归创建嵌套的目录
现在创建一个'f1/f2'的目录,f1和f2目录都不存在
mkdir('f1/b2', 0777, true);//这个属于目录嵌套情况,因此$recursive=true
2> bool unlink ( string $filename )
删除文件
3> bool copy ( string $source , string $dest )
将source的文件复制一份给dest文件,如果路径没有将出现警告,如果有相同的文件名将覆盖
4> resource fopen ( string $filename , string $mode [, bool $use_include_path = false )
打开文件
- $filename, 文件的路径
- $mode, 打开的方式
mode | 解释 |
---|---|
r | 只读方式打开,将文件指针指向文件头。 |
r+ | 读写方式打开,将文件指针指向文件头。 |
w | 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
w+ | 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
a | 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
a+ | 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
$use_include_path, 表示是否在include_path寻找文件,true表示寻找
返回一个文件句柄,和opendir函数的打开目录类似,返回一个文件资源
5> bool fclose ( resource $handle )
关闭资源,接受fopen函数的返回值。
- 对于php文件流不会主动的被释放掉,因此需要主动的释放资源空间。其实其他语言也类似
6> int fwrite ( resource $handle , string $string [, int $length ] )
将$string的内容写入$handle的资源句柄中
- $length, 写入的字节长度
$handle = fopen('1.txt', 'w+');$str = '我真聪明';fwrite($handle, $str);
7> string fread ( resource $handle , int $length )
从文件中读取内容,length指定读取的字节数
8> string fgets ( resource $handle [, int $length ] )
从文件中读取一行
- 读取文件
$handle = fopen('test5.php', 'r');while($str = fgets($handle)){ echo $str.'
';}fclose($handle);
9> int readfile ( string $filename [, bool $use_include_path = false )
读取文件并写入到输出缓冲。
- 下载图片
/*文件名img.php*/$filename = '1.jpg';header('content-type; image/jpg');//指定下载文件类型header('content-disposition: attachment; filename="'.$filename.'"');//指定下载文件的描述,说明是一个附件header('content-length: '.filesize($filename));//指定文件的大小//将文件内容读出来并直接输出,以便下载readfile($filename);
下载图片
10> 移动文件指针
- int ftell ( resource $handle ) 返回文件当前指针
- int fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] ) 移动文件指针到指定的位置
whence | 解释 |
---|---|
SEEK_CUR | 设置指针位置为当前位置加上第二个参数所提供的offset偏移字节 |
SEEK_END | 设置指针从文件末尾的倒数偏移量,offset为负值 |
SEEK_SET | 设置指着东offset开始(默认) |
- bool rewind ( resource $handle ) 移动文件指针到文件的开头