根据前端文档列表中的文件类型显示图标的最佳方法是什么?文件类型可以是任何类型。
我打算尝试这个:
public function getIconAttribute() {
$extensions = [
'jpg' => 'jpeg.png',
'png' => 'png.png',
'pdf' => 'pdfdocument.png',
'doc' => 'wordicon.jpg',
];
return array_get($extensions,$this->extension,'unknown.png');
}
但我需要手动指定所有文件类型。在php / laravel中有没有更好的方法呢?
答案 0 :(得分:1)
您可以将文件名与扩展名匹配,并使用文件查找。
public function getIconAttribute() {
$extension = strtolower($this->extension);
$rewrite_map = array(
'jpeg' => 'jpg',
'docx' => 'doc'
);
if(isset($rewrite_map[$extension])) {
$extension = $rewrite_map[$extension];
}
if(file_exists('/path/to/icons/dir/' . $extension . '.png')) {
return $extension . '.png';
}
return 'unknown.png';
}
如果您开始支持其扩展名中含糊不清的其他文件类型,则只需要修改此方法。