我有一个程序可以将文件上传到我的网络服务器上的特定文件夹,我现在要做的是让用户自动访问该文件,所以在他上传文件后,它将被列在网页上,并且它将可供下载。无论如何这有可能吗?只要满足结果,任何javascript或php都可以,提前谢谢。
我想让网页自动列出用户上传文件的文件夹的内容,以便他们可以下载。我不想要索引,而是网页内的实际列表。就像您将文件上传到谷歌文档时一样,然后它会自动列出以供下载。
我有一个程序可以将文件上传到我的网络服务器上的特定文件夹,我现在要做的是让用户自动访问该文件,所以在他上传文件后,它将被列在网页上,并且它将可供下载。无论如何这有可能吗?只要满足结果,任何javascript或php都可以,提前谢谢。
我想让网页自动列出用户上传文件的文件夹的内容,以便他们可以下载。我不想要索引,而是网页内的实际列表。就像您将文件上传到谷歌文档时一样,然后它会自动列出以供下载。
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.
听起来您想使用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>";
}
综上所述,这是一种非常盲目的做法。它在某些情况下肯定很有用,但是如果您想做一些事情,例如按用户限制图像,并保存名称/描述/标签等图像信息,您可能希望在上传目录时简单地将目录保存在数据库中。
上传文件时,将路径和文件名保存在数据库中。成功上传后,通过ajax获取文件名并显示文件,当他/她下载时,从db中获取文件名和路径,如果找到则在目录中搜索,然后将其下载到客户端计算机。