Php 根据文件类型显示图标
根据前端文档列表中的文件类型显示图标的最佳方式是什么?文件类型可以是任何类型 我打算试试这个:Php 根据文件类型显示图标,php,html,laravel,Php,Html,Laravel,根据前端文档列表中的文件类型显示图标的最佳方式是什么?文件类型可以是任何类型 我打算试试这个: public function getIconAttribute() { $extensions = [ 'jpg' => 'jpeg.png', 'png' => 'png.png', 'pdf' => 'pdfdocument.png', 'doc' => 'wordicon.jpg', ];
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中有没有更好的方法来实现这一点?您可以将文件名与扩展名匹配,并使用文件查找
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';
}
只有当您开始支持扩展名不明确的另一种文件类型时,才需要修改此方法。世界上所有的文件类型?不管怎样,每个文件类型都需要一个图像,所以需要手动执行。是的,我还认为我们需要限制用户上传指定的文件,只有这样我们才能在前端手动检查,对吗?你应该限制用户上传指定的文件,因为你不知道他们试图上传的文件类型,所以你会显示一个图标!伟大的非常感谢。