在PHP中移动文件(与上传文件有关)

时间:2011-07-18 03:40:26

标签: php file-upload uploading

我有一个网站,人们上传大量(2mb-3mb)文件,大量。所以我需要将它们存储在外部驱动器上(我的drobo)。如何将文件上传到服务器上的文件夹,然后如何编写检索它们的php脚本并让用户下载它们。

谢谢, Joey Sacchini

3 个答案:

答案 0 :(得分:1)

为此,只需将文件移动到可访问的空间即可。

http://php.net/manual/en/function.move-uploaded-file.php

请务必考虑这一点的含义。将上传的文件移动到打开的目录后,任何人都可以访问它。这非常危险。想象一下有人上传PHP脚本。

最好创建一个脚本,该脚本从不在Web根目录中的位置获取文件。在基本级别,您可以将文件的属性(例如原始名称(您应该将它们重命名为磁盘上的随机内容)和mimetype)存储到数据库。然后使用readfile()将文件发送到客户端。

要将备份下载到您自己的个人硬盘,请使用SFTP。

答案 1 :(得分:0)

这不是一个快速的答案,您需要了解如何上传,检索文件并将其保存到服务器;为PHP和其他一些东西设置写权限。我建议你试试这些链接,以便快速入门:

http://www.w3schools.com/php/php_file_upload.asp

http://www.tizag.com/phpT/fileupload.php

另请参阅PHP参考手册以获取一些很好的示例。

答案 2 :(得分:0)

你可以将上传的文件保存在服务器目录之外。所以如果你的服务器root是/ www / htdocs你可以保存文件/ say / uploaded。所以使用像

这样的东西
move_uploaded_file($_FILES['file'],'/uploaded')

通过这种方式,外部世界无法访问您的文件