2017-10-24 12 views
0

フロントエンドのドキュメントリストのファイルタイプに応じてアイコンを表示する最適な方法は何ですか?ファイルタイプはどのタイプでもかまいません。 ファイルタイプごとにアイコンを表示

は、私はこれを試すことを計画しています:

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でこれを行うためのよりよい方法はありますか?

+1

世界のすべてのファイル形式ですか? –

+0

ファイルタイプごとにイメージが必要なので、手動で行う必要があります。 – SourceOverflow

+0

ええ、指定されたファイルのみをアップロードするようにユーザーを制限する必要があると考えているので、フロントエンドで手動で確認できますか? – Stackvis

答えて

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'; 
} 

そのあとだけ、あなたがその拡張子であいまいさを持つ別のファイルの種類をサポートして起動する場合は、この方法を変更する必要があります。

関連する問題