0

我有一个程序可以将文件上传到我的网络服务器上的特定文件夹,我现在要做的是让用户自动访问该文件,所以在他上传文件后,它将被列在网页上,并且它将可供下载。无论如何这有可能吗?只要满足结果,任何javascript或php都可以,提前谢谢。

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

4

3 回答 3

0

Store the file paths of all uploaded files in a database. You can get the list of all uploaded files for the user with ajax and display them in real time. I believe Google uses ajax to accomplish what you're describing.

于 2012-10-05T04:49:42.950 回答
0

听起来您想使用scandir 之类的东西。请记住,您传递的目录应该是一个绝对的服务器路径,这与您将用于形成实际页面链接的 www 根目录不同。

所以如果你有一个 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>";
}

综上所述,这是一种非常盲目的做法。它在某些情况下肯定很有用,但是如果您想做一些事情,例如按用户限制图像,并保存名称/描述/标签等图像信息,您可能希望在上传目录时简单地将目录保存在数据库中。

于 2012-10-05T05:27:54.370 回答
0

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

于 2012-10-05T05:28:28.843 回答