2016-08-01 17 views
1

Ich mache eine Tabelle mit hochgeladenen Dateien: Datei, Name, Erweiterung (in PHP mit Verbindung zu MS SQL-Server). Ich möchte zu jeder dieser Dateien basierend auf ihrer Erweiterung ein Symbol hinzufügen. Ich finde 3 Optionen, wie kann ich es tun: 1. Best - irgendwie laden Benutzer Standard-Symbol und irgendwie verbinden sie mit meinen Dateien 2. gut - irgendwie von irgendeiner Webseite Liste von Symbol laden und irgendwie verbinden sie mit meinen Dateien 3. schlecht - setze einige Icons in meinen Ordner und lade sie aus dieser DateiZeige Dateisymbole basierend auf der Dateierweiterung

Ich weiß, wie man die dritte Option macht, aber ich kann nicht einfach nach 10 Icons suchen, weil es immer eine Erweiterung geben wird, die nicht in meinem Ordner ist (wie jpeg ist anders als jpg).

Können Sie mir sagen, wie kann ich eine bessere Lösung als Nummer 3? Es kann in PHP oder JS/jQuery sein, es wird nicht metter.

Antwort

0

ein Ding wie das Versuchen:

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

und eine andere für unbekanntes Symbol macht

+0

Es gibt zu viele Erweiterungen, um so etwas zu tun. Deshalb habe ich geschrieben, dass die dritte Lösung eine schlechte Lösung ist: – Koshi

0

Da Sie bereits die Erweiterung in Ihrer Datenbanktabelle haben, ist der nächste logische Schritt ist, alle die gemeinsame Datei zu laden Erweiterungen in ein Array mit einem Verweis auf das entsprechende Symbol.

Verwenden Sie dann in_array, um die Erweiterung zu testen und das richtige Symbol zu laden.

Sie können Symbolsätze für Dateitypen in vielen verschiedenen Stilen erhalten.

1

Sie müssen dies tun, indem Sie das Standard-Icon für unbekannte Dateitypen verwenden.

Sie Dateien zum Beispiel in der Tabelle zeigt, kann

HTML

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

ein Fragment meines Code, der dieses (Fragment einer größeren Bibliothek) hat

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

zuweisen Symbole js

JavaScript

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

sktóty tun ikon w 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); 
} 

Ergebnis verwenden müssen:

enter image description here

Wenn jemand nutzt eine unbekannte Art das Bild der Klasse fm_file verwendet wird. Sie können immer eine Sammlung von Symbolen bilden