【发布时间】:2011-10-07 09:23:26
【问题描述】:
我有一个网站,人们可以将大 (2mb-3mb) 文件大量上传到该网站。所以我需要将它们存储在外部驱动器(我的 drobo)上。如何将文件上传到服务器上的文件夹,然后如何编写一个 php 脚本来检索它们并让用户下载它们。
谢谢, 乔伊·萨基尼
【问题讨论】:
标签: php file-upload uploading
我有一个网站,人们可以将大 (2mb-3mb) 文件大量上传到该网站。所以我需要将它们存储在外部驱动器(我的 drobo)上。如何将文件上传到服务器上的文件夹,然后如何编写一个 php 脚本来检索它们并让用户下载它们。
谢谢, 乔伊·萨基尼
【问题讨论】:
标签: php file-upload uploading
为此,只需将文件移动到可访问的空间即可。
http://php.net/manual/en/function.move-uploaded-file.php
不过,请务必考虑这一点的含义。将上传的文件移动到打开的目录后,任何人都可以访问它。这是非常危险的。想象一下有人上传了一个 PHP 脚本。
最好创建一个脚本,从不在网络根目录中的位置获取文件。在基本级别上,您可以将文件的属性(例如原始名称(您应该将它们重命名为磁盘上的随机名称)和 mimetype)存储到数据库中。然后用readfile()将文件发送给客户端。
要将备份下载到您自己的个人硬盘,只需使用 SFTP。
【讨论】:
这不是一个快速的答案,您需要了解如何上传、检索和保存文件到服务器;为 PHP 和其他一些东西设置写权限。我建议您尝试这些链接以帮助您快速入门:
http://www.w3schools.com/php/php_file_upload.asp
http://www.tizag.com/phpT/fileupload.php
还可以访问 PHP 参考手册以获取一些很好的示例。
【讨论】:
你可以将上传的文件保存在服务器目录之外。因此,如果您的服务器根目录是/www/htdocs,您可以将文件保存在/uploaded 中。所以使用类似
move_uploaded_file($_FILES['file'],'/uploaded')
这样你的文件将无法被外界访问
【讨论】: