三种目录表示:
./ 代表当前目录
../ 代表父级目录
/ 代表根目录
常用的文件操作函数有
通用读写: fpen() fwrite() fread() fclose() fgets() feof()
PHP快速读写 file_put_contents() file_get_contents()
获取文件信息 basename() dirname() fstat() filesize() scandir()
文件判断: file_exists() is_file() is_dir()
增删移复制 mkdir() unlink() rename() copy()
fopen 的模式
‘r‘ | 只读方式打开,将文件指针指向文件头。 |
‘r+‘ | 读写方式打开,将文件指针指向文件头。 |
‘w‘ | 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
‘w+‘ | 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
‘a‘ | 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
‘a+‘ | 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
‘x‘ | 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。 |
‘x+‘ | 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。 |
查找手册:http://php.net/manual/zh/ref.filesystem.php
获取目录下所有文件以及子目录的方法
方式一:
$path = dirname(__FILE__);$file = [];function getFiles($path,&$file){ ???$res = scandir($path); ???$file = array_slice($res,2); ???foreach ($file as &$val){ ???????$newPath = $path.‘/‘.$val; ???????if(is_dir($newPath)){ ???????????getFiles($newPath,$val); ???????} ???}}getFiles($path,$file);var_dump($file);
方式二:
$dir = dirname(__FILE__).‘/node_modules‘;$file = [];function getFile2($path,&$files){ ???if (is_dir($path)) { ???????if ($dh = opendir($path)) { ???????????while (($file = readdir($dh)) !== false) { ???????????????if ($file != ‘.‘ && $file != ‘..‘) { ???????????????????$newPath = $path.‘/‘.$file; ???????????????????if (is_dir($newPath)) { ???????????????????????$child = []; ???????????????????????getFile2($newPath,$child); ???????????????????????$files[] = $child; ???????????????????} else { ???????????????????????$files[] = $file; ???????????????????} ???????????????} ???????????} ???????????closedir($dh); ???????} ???}}getFile2($dir,$file);var_dump($file);
PHP文件操作整理
原文地址:http://www.cnblogs.com/dpdp/p/7488924.html