大家好,欢迎来到IT知识分享网。
目录和遍历目录函数
以下函数都是基于目录(文件夹)操作的函数
mkdir() 建立新目录
bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false [, resource $context ]]] )
权限模式:在linux下生效, 目录的权限。该参数对于win是忽略的。
如果创建的目录的上级目录不存在, 是否递归创建, 使用第三个参数递归创建(true);
linux系统下 mkdir 递归创建目录兼容性不好;
编写自定义函数: Linux系统下递归创建目录
function Directory( $dir ){ return is_dir ( $dir ) or Directory(dirname( $dir )) and mkdir ( $dir , 0777); }
rmdir() 删除目录
bool rmdir ( string $dirname [, resource $context ] )
尝试删除 dirname 所指定的目录。 该目录必须是空的, 而且要有相应的权限。 失败时会产生一个 E_WARNING 级别的错误。
遍历目录函数
opendir() — 打开目录句柄
resource opendir ( string $path [, resource $context ] )
打开一个目录句柄, 可用于之后的 closedir(),readdir() 和 rewinddir() 调用中。
readdir() — 从目录句柄中读取条目
string readdir ( resource $dir_handle )
返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回。
closedir() — 关闭目录句柄
void closedir ( resource $dir_handle )
关闭由 dir_handle 指定的目录流。流必须之前被 opendir() 所打开。
rewinddir() 倒回目录句柄
void rewinddir ( resource $dir_handle )
将 dir_handle 指定的目录流重置到目录的开头。
<?php $dir = "/etc/php5/"; if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { echo "filename: $file : filetype: " . filetype($dir . $file) . "\n"; } closedir($dh); } } ?>
简单方式读取目录结构
scandir — 列出指定路径中的文件和目录
array scandir ( string $directory [, int $sorting_order [, resource $context ]] )
返回一个 array ,包含有 directory 中的文件和目录。
directory:要被浏览的目录
sorting_order:默认的排序顺序是按字母升序排列(默认是0,升序)。如果使用了可选参数 sorting_order(0设为 1), 则排序顺序是按字母降序排列。
context:context参数的说明见手册中的 Streams API 一章。
返回值:成功则返回包含有文件名的array,如果失败则返回 FALSE 。如果 directory不是个目录, 则返回布尔值 FALSE 并生成一条 E_WARNING 级的错误。
<?php $dir = '/tmp' ; $files1 = scandir ( $dir ); $files2 = scandir ( $dir , 1 ); print_r ( $files1 ); print_r ( $files2 ); ?>
以上例程的输出类似于:
Array ( [0] => . [1] => .. [2] => bar.php [3] => foo.txt [4] => somedir ) Array ( [0] => somedir [1] => foo.txt [2] => bar.php [3] => .. [4] => . )
删除目录 rmdir()
bool rmdir ( string $dirname [, resource $context ] )
尝试删除 dirname 所指定的目录。 该目录必须是空的,而且要有相应的权限。 失败时会产生一个 E_WARNING 级别的错误。
dirname:目录的路径。
context:Note: 在 PHP 5.0.0 中增加了对上下文(Context)的支持。有关上下文(Context)的说明参见 Streams。
<?php if (! is_dir ( 'examples' )) { mkdir ( 'examples' ); } rmdir ( 'examples' ); ?>
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/123808.html