我已经编写了使用php上传不同类型文件的代码,并且我正在将它们的位置信息和日期保存在数据库表中。我做了一个查询来显示我上传的文件列表。。。并在html页面上输出如下
1.uploads/clouds.png
date and time
2.uploads/resume.pdf
dare and time
.......so on
有什么不同的方法可以像操作系统那样按文件类型显示它们吗……或者有更好的方法。。。。我很想知道…谢谢你的帮助。。。
这是一个生成文件列表的好脚本:http://www.evoluted.net/thinktank/web-development/php-directory-listing-script
我还建议您学习php glob
函数。可以这样使用:
foreach(glob("directory/*.pdf") as $pdfdocument)
{
echo "<a href='"$pdfdocument'">Link to $pdfdocument</a>";
}
这将生成指向目录中所有PDF文件的链接。
如果要按文件类型分类,请使用finfo::file
以下是如何获得mime类型文件的示例
<?php
$finfo = finfo_open(FILEINFO_MIME_TYPE); // return mime type ala mimetype extension
foreach (glob("*") as $filename) {
echo finfo_file($finfo, $filename) . "'n";
}
finfo_close($finfo);
?>
-
为您的类型创建阵列
-
从您进行的数据库查询中创建一个包含所有文件名的单个数组
-
循环浏览你的文件名数组(第2点),匹配某个文件类型,比如png,并将找到的结果放在pngs数组中(.png上的字符串匹配检查)。
-
循环浏览你的文件名数组(第2点),匹配某个文件类型,比如jpg,并将找到的结果放在jpgs数组中(对.jpg和.jpeg进行字符串匹配检查)。
-
etc
-
循环遍历foreach数组,将它们放入一个新的最终数组中,类似outputList数组
-
在您的最终数组(按文件类型排序)中循环html。$outputList echo等中的每个$item
php中有一些方法可以在数组上进行匹配,但不确定是否可以决定处理输出,所以,简单是最好的。