阅读量:2
readdir() 函数用于读取目录句柄中的条目,但它本身不能直接获取文件的扩展属性
- 首先,使用
opendir()函数打开目录。 - 然后,使用
readdir()函数读取目录中的每个文件。 - 对于每个文件,使用
pathinfo()函数获取文件扩展名。 - 使用
fileinfo扩展(如果已安装)或stat结构来获取文件的扩展属性。
以下是一个示例代码:
// 打开目录
$dir = opendir('path/to/directory');
if ($dir) {
// 读取目录中的每个文件
while (($entry = readdir($dir)) !== false) {
// 跳过 "." 和 ".." 目录
if ($entry == '.' || $entry == '..') {
continue;
}
// 获取文件扩展名
$extension = pathinfo($entry, PATHINFO_EXTENSION);
// 获取文件扩展属性(需要安装 fileinfo 扩展)
$finfo = new finfo(FILEINFO_MIME_TYPE);
$mimeType = $finfo->file($entry);
// 或者使用 stat 结构获取文件扩展属性(不依赖 fileinfo 扩展)
$stat = stat($entry);
$attributes = array(
'size' => $stat['size'],
'mtime' => $stat['mtime'],
// 其他属性...
);
// 输出文件信息
echo "File: $entry\n";
echo "Extension: $extension\n";
echo "MIME type: $mimeType\n";
echo "Attributes: " . print_r($attributes, true) . "\n\n";
}
// 关闭目录
closedir($dir);
} else {
echo "Error: Unable to open directory.";
}
?>
请注意,这个示例代码需要 fileinfo 扩展(在 PHP 5.3 及更高版本中默认可用)来获取文件的 MIME 类型。如果你的服务器没有启用 fileinfo 扩展,你可以考虑使用其他方法(如 exif_open())来获取特定类型的文件属性。
以上就是关于“php readdir 能获取文件的扩展属性吗”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm