【问题标题】:Moving files around in PHP (relating to uploading files)在 PHP 中移动文件(与上传文件有关)
【发布时间】:2011-10-07 09:23:26
【问题描述】:

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

谢谢, 乔伊·萨基尼

【问题讨论】:

    标签: php file-upload uploading


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 上传时必须移动。否则它会被删除,因为文件位于临时空间中。
    【解决方案2】:

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

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

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

    还可以访问 PHP 参考手册以获取一些很好的示例。

    【讨论】:

      【解决方案3】:

      你可以将上传的文件保存在服务器目录之外。因此,如果您的服务器根目录是/www/htdocs,您可以将文件保存在/uploaded 中。所以使用类似

      move_uploaded_file($_FILES['file'],'/uploaded')
      

      这样你的文件将无法被外界访问

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-25
        • 1970-01-01
        • 2014-06-19
        相关资源
        最近更新 更多