我正在尝试显示指定目录中的所有图片。
以下代码列出了所有允许的文件名:
function getDirectoryList()
{
// create an array to hold directory list
$results = array();
// create a handler for the directory
$handler = opendir($this->currentDIR);
// open directory and walk through the filenames
while ($file = readdir($handler)) {
// Make sure we get allowed images types
if ($this->allowedFileType($file,$this->allowedImageTypes) )
{
$results[] = $file;
}
}
// tidy up: close the handler
closedir($handler);
// done!
return $results;
}
(...)
$images = getDirectoryList();
foreach($images as $img) {
echo "<li>".$img."</li>";
}
如何获取文件大小和MIME类型?
我读到mime_content_type
已被弃用,我应该使用finfo_file。但我对此并不是很成功。
我是否必须使用/usr/share/misc/magic
来获取文件信息?我不能使用GD库吗?
我看了很多例子,但它们已经老了,效果不好。
任何帮助表示感谢。
答案 0 :(得分:1)
使图像的大小和mime类型变得简单,
使用功能:getimagesize
使用如下:
list($width, $height, $type, $attr) = getimagesize("img/myimg.jpg");
返回一个包含7个元素的数组。
索引0和1分别包含图像的宽度和高度。
索引2是指示图像类型的 IMAGETYPE_XXX 常量之一。
使用filesize给出字节大小
答案 1 :(得分:0)
要扩展Haim Evgi的帖子,请使用getimagesize()检索数组中的维度和图像类型。然后,在图像类型代码上使用image_type_to_mime_type()来检索MIME:
list ($fileWidth, $fileHeight, $fileType) = getimagesize($filename);
$fileMimeType = image_type_to_mime_type($fileType);