获得当前目录的信息:dirname()、basename()、disk_free_space() 和 scandir()函数
dirname( path)函数和basename( path)函数将分别返回路径的目录部分和路径的文件名称部分。对于目录浏览器来说,这可能会非常有用,尤其是根据有意义的目录名称和文件名称内容创建一个复杂的目录结构时。
basename() 函数返回路径中的文件名部分。
语法:
basename(path,suffix)
参数 | 描述 |
---|---|
path | 必需。规定要检查的路径。 |
suffix | 可选。规定文件扩展名。如果文件有 suffix,则不会输出这个扩展名。 |
使用disk_free_space($path)函数,我们也可以在目录列表中增加一项说明,表示还有多少空间可以用来保存上传文件。如果给这个函数传递了一个目录的路径,它将返回磁盘(在Windows系统下)或该目录所在的文件系统(在UNIX系统下)上的空余空间(以字节为单位)。
scandir()函数可以将文件名称保存在一个数组,并且以字母表的顺序排序,升序或降序。该函数是在PHP 5中引入的。
语法
scandir(directory,sorting_order,context);
参数 | 描述 |
---|---|
directory | 必需。规定要扫描的目录。 |
sorting_order | 可选。规定排列顺序。默认是 0,表示按字母升序排列。如果设置为 SCANDIR_SORT_DESCENDING 或者 1,则表示按字母降序排列。如果设置为 SCANDIR_SORT_NONE,则返回未排列的结果。 |
context | 可选。规定目录句柄的环境。context 是可修改目录流的行为的一套选项。 |
例子:
<?php
header("Content-type: text/html; charset=gbk");
$currentDir = "D:";
$fileList = scandir($currentDir,1); //降序排列
var_dump($fileList);
$distSize = disk_free_space($currentDir);
var_dump($distSize);
$path = "D:360Downloads\HotFix\filelist.dat";
$dirname = dirname($path);
var_dump($dirname);
$basebame = basename($path);
var_dump($basebame);
输出:
array
0 => string '浏览器下载' (length=10)
1 => string '360Downloads' (length=12)
2 => string '18096_2041203_MVM_1.tmp' (length=23)
3 => string '18096_2041203_MVM_0.tmp' (length=23)
4 => string '1.dat' (length=5)
5 => string '$RECYCLE.BIN' (length=12)
float 41812590592
string 'D:360Downloads' (length=14)
string 'HotFixilelist.dat' (length=18)