2016-08-01 32 views
1

アップロードされたファイルのテーブルを作成しています:ファイル、名前、拡張子(ms SQLサーバーに接続したphp)。 拡張子に基づいて、これらのファイルすべてにアイコンを追加したいと思います。私は3つのオプションを見つける方法:私はそれを行うことができます: ベスト - 何とかユーザーのデフォルトのアイコンをロードし、何とかそれらを私のファイルと接続します 2.良い - 何らかのWebページのリストのアイコンから何とかロードして何とか私のファイルとそれらを接続します 3。悪い - 私のフォルダにいくつかのアイコンを入れて、そのファイルからロードするファイルの拡張子に基づいてファイルアイコンを表示

私は3番目のオプションを行う方法を知っているが、私のフォルダにない拡張子が常に存在するため、 jpegとjpgは違う)。

あなたは3番のより良い解決策を次に私に教えてもらえますか?それはPHPまたはJS/jQueryで行うことができますが、metterではありません。

答えて

0

このようないくつかの事試してみてください。

if(ext == 'jpg' || ext == 'jpeg') 
{ 
    $image_name = 'image.jpg'; 
} 
if(ext == 'doc' || ext == 'docx') 
{ 
    $image_name = 'doc.jpg';  
} 

を、あなたはすでにあなたのデータベーステーブル内の拡張子を持っているので、未知のアイコン

+0

何かを行うには、多くの拡張があります。だから私は3番目の解決策は悪い解決策だと書いている: – Koshi

0

ために他を作り、次の論理的なステップは、すべての一般的なファイルをロードすることです適切なアイコンへの参照と共に配列への拡張。

次に、in_arrayを使用して、拡張子をテストし、正しいアイコンをロードします。

さまざまなスタイルのファイルタイプのアイコンセットを取得できます。

1

これは、不明な種類のファイルに対してデフォルトのアイコンを使用することで行う必要があります。

あなたがテーブルに例えばファイルが表示される場合があり

HTML

<tr> 
<td class="fm fm_file"> 
<a target="_blank" href="./download.php?f=something">yourfile.jpg</a> 
</td> 
</tr> 

この(より大きなライブラリーのフラグメント)を行い、私のコードの断片で

PHP

if ($handle = opendir($directory)) { 
      while (false !== ($entry = readdir($handle))) { 
       if ($entry != "." && $entry != "..") { 
        if (!is_dir($directory . DIRECTORY_SEPARATOR . $entry)) { 
         $md = rand(0, 9) . substr(md5('download' . $entry), 1, 10) . rand(1000, 9999); 
         $dlink = '<a target="_blank" href="./download.php?f=' . $entry . '&c=' . $md . '" >' . $entry . '</a>'; 
         $editlink=''; 
         $a=explode('.', $entry); 

         if(in_array(strtolower(array_pop($a)),array('ini','txt','xml','bin','sql'))) 
         $editlink='<a href="filemanager-edit?dir=' . $subdir.'&f=' . $entry . '&c=' . $md . '" >' . $ledit . '</a>'; 
         $filelist.='<tr>' . '<td class="fm fm_file">' . $dlink . '</td>' . '<td class="edit">'.$editlink.'</td>' . '<td class="delete"><a href="filemanager?action=delete&dir=' . $subdir.'&f=' . $entry . '&c=' . $md . '" >' . $ldelete . '</a></td>' . '</tr>'; 
        } else 
         $filelist.='<tr>' . '<td class="fm ft_folder"><a href="filemanager?action=view&dir=' . $subdir . $entry . '&c=' . md5($entry) . '" >' . $entry . '</a></td>' . '<td class="edit"></td>' . '<td class="edit"><a href="filemanager?action=view&dir=' . $subdir . $entry . '&c=' . md5($entry) . '" >' . $lchoose . '</a></td>' . '</tr>'; 
       } 
      } 
      closedir($handle); 
     } 

はアイコンが

$('.fm_file').each(function(){ 
     var name=$(this).find('a').html().split('.').pop(); 
    $(this).addClass('ft_'+name); 
    }); 

sktótyが行うJS

JavaScriptを使用する必要が割り当てるIKON CSSワット

CSS

.fm_file{ 
    background-image:url(../../images/filemanager/page_white.png); 
} 

.ft_folder{ 
    background-image:url(../../images/filemanager/folder.png); 
} 

.ft_pdf{ 
    background-image:url(../../images/filemanager/page_white_acrobat.png); 
} 

.ft_cs{ 
    background-image:url(../../images/filemanager/page_white_csharp.png); 
} 

.ft_xls{ 
    background-image:url(../../images/filemanager/page_white_excel.png); 
} 

.ft_php{ 
    background-image:url(../../images/filemanager/page_white_php.png); 
} 
.ft_dll{ 
    background-image:url(../../images/filemanager/page_white_dll.png); 
} 
.ft_exe,.ft_msi{ 
    background-image:url(../../images/filemanager/page_white_exe.png); 
} 
.ft_db,.ft_sql{ 
    background-image:url(../../images/filemanager/page_white_db.png); 
} 
.ft_png, 
.ft_jpg, 
.ft_bmp, 
.ft_gif{ 
    background-image:url(../../images/filemanager/page_white_picture.png); 
} 

.ft_txt, 
.ft_js, 
.ft_ini, 
.ft_bat, 
.ft_css{ 
    background-image:url(../../images/filemanager/page_white_text.png); 
} 

.ft_htm, 
.ft_xml, 
.ft_html{ 
    background-image:url(../../images/filemanager/page_white_code.png); 
} 

.ft_rar, 
.ft_zip{ 
    background-image:url(../../images/filemanager/page_white_compressed.png); 
} 

結果:

enter image description here

誰かが未知のタイプを使用している場合は、クラスfm_fileの画像が使用されます。 あなたはいつもアイコンのコレクションを構成することができます

関連する問題