如何在网页上自动列出Web服务器内的文件夹内容

时间:2012-10-05 04:33:19

标签: php javascript file download webserver

我有一个程序可以将文件上传到我的网络服务器上的特定文件夹,我现在要做的是让用户自动获取对该文件的访问权限,因此在他上传文件后,它将列在网页,它可以下载。反正有可能吗?只要结果得到满足,任何javascript或php都会这样做,谢谢你提前。

我想让网页自动列出用户上传文件的文件夹的内容,以便他们可以下载。我不想要一个索引,而是一个网页内的实际列表。就像你上传文件到谷歌文档一样,然后它会自动列出以供下载。

3 个答案:

答案 0 :(得分:0)

将所有上传文件的文件路径存储在数据库中。您可以使用ajax获取用户的所有上传文件的列表,并实时显示它们。我相信Google使用ajax来完成你所描述的内容。

答案 1 :(得分:0)

听起来你想使用像scandir这样的东西。请记住,传递它的目录应该是绝对服务器路径,这与用于形成实际页面链接的www root不同。

因此,如果你有一个index.php和/ images /目录,你需要这样的东西:

$images_directory = "/images/";
$path_to_files = dirname(__FILE__) . $images_directory;

$dir_contents = scandir( $path_to_files );

然后,您可能希望过滤目录内容以仅显示图像:

$images = preg_grep("/(?i).(gif|jpg|png)$/", $dir_contents);

现在你有了一系列图像,你只需要格式化你的html链接:

foreach( $images as $image ){
    $file = $image_directory . $image;
    echo "<a href='$file'>$image</a>";
}

所有这一切,这是一个非常盲目的方式。它在某些情况下确实很有用,但是如果你想做一些像用户限制图像,并保存图像信息,如名称/描述/标签,你可能只想在上传数据库时将其保存在数据库中。

答案 2 :(得分:0)

上传文件时,请在数据库中保存路径和文件名。成功上传后,通过ajax获取文件名并显示文件,当他/她下载文件时,从文件名中获取文件名和路径,然后在目录中搜索(如果找到),然后将其下载到客户端计算机。