我正在Windows 8上的CodeIgniter 2.1.3上编写下载站点。 我想获取并显示用户上传的每个文件的文件图标。 这些文件可以有任何扩展名(.exe,.mpg,.rar,.pdf)。 我怎么能这样做?
答案 0 :(得分:0)
执行此操作的唯一方法是将所有关联的文件图标作为图像,您可以在许多位置下载它们,例如这里iconarchive .doc .jpg .pdf等将它们放在一个文件夹中,然后根据文件扩展名使用PHP显示相应的文件图标。
我已经创建了一个脚本来读取文件夹中的文件数据,然后你可以获取文件名并获得特定的文件扩展名,我只是在这里使用pdf所以不关心不同的扩展
function displayDocuments($path){
if ($handle = opendir($path))
{
$up = substr($path, 0, (strrpos(dirname($path."/."),"/")));
$order = '"desc"';
$csvarray = array(array('Type','Document','Last Modified','File Size'));
/* echo "<table id='Docs'>";
echo "<thead id='DocsHeaderRow'>";
echo "<th colspan='2' align='center' data-sort='string'>File Name</th>";
echo "<th align='center' data-sort='float'>Last Modified</th>";
echo "<th align='center' data-sort='int' >File Size</th>";
// echo "<a href='".$_SERVER['PHP_SELF']."?path=$up'>Up one level</a>";
echo "</thead>";
echo "<tbody>";*/
while (false !== ($file = readdir($handle)))
{
$files[] = $file;
if ($file != "." && $file != ".." && $file != "documents.csv")
{
$fName = preg_replace("/\\.[^.\\s]{3,4}$/", "", $file);
$file = $path.'/'.$file;
$fileSize = filesize($file);
//$sitename = bloginfo('template_directory');
// $fileSizefinal = number_format($fileSize/1048576,1)."MB";
if ($fileSize >= 1048576)
{
$fileSizefinal = number_format($fileSize / 1048576, 2) . ' MB';
}
elseif ($fileSize >= 1024)
{
$fileSizefinal = number_format($fileSize / 1024, 2) . ' KB';
}
if(is_file($file)) {
arsort(filemtime($file));
/* echo "<tr>";
echo "<td><img src='";
echo bloginfo('template_directory');
echo "/images/Adobe_Acrobat_PDF.png' id='docIcon' border='0'/>";
echo "</td>";
echo "<td><a href='".$file."'>".$fName."</a></td>"
."<td align='right'> ".date ('Y-m-d H:i:s', filemtime($file))."</td>"
."<td align='right'> ".$fileSizefinal."</td></tr>";*/
} elseif (is_dir($file)){
print "<tr><td colspan='3'> -D- <a href='".$_SERVER['PHP_SELF']."?path=$file'>$fName</a></td></tr>";
}
$csvrowarray = array("<img src='http://10.200.200.42//wp-content/themes/socdev/images/Adobe_Acrobat_PDF.png' id='docIcon' border='0'/>","<a href='".$file."'>".$fName."</a>",date ('Y-m-d', filemtime($file)),$fileSizefinal);
//H:i:s time on date
array_push($csvarray,$csvrowarray);
}
}