Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 请求接受大文件上载的建议_Php_File_Upload - Fatal编程技术网

Php 请求接受大文件上载的建议

Php 请求接受大文件上载的建议,php,file,upload,Php,File,Upload,我正在考虑构建一个包含文件上传元素的web应用程序。我希望用户能够上传任何类型和相当大的文件(比如,高达100MB)。这将是一个可公开访问的站点,因此安全性显然非常重要 我在谷歌上搜索过很多答案,但当我不知道自己到底在搜索什么时,这就很困难了 我的经验主要是使用PHP,但我意识到PHP在文件上传方面并不被认为是最好的,所以如果有必要,我很乐意使用其他语言。尽管如此,如果能够使用PHP实现一个不错的解决方案,那将是更好的选择 由于我没有这类项目的经验,我也不清楚这种应用程序需要什么样的服务器设置

我正在考虑构建一个包含文件上传元素的web应用程序。我希望用户能够上传任何类型和相当大的文件(比如,高达100MB)。这将是一个可公开访问的站点,因此安全性显然非常重要

我在谷歌上搜索过很多答案,但当我不知道自己到底在搜索什么时,这就很困难了

我的经验主要是使用PHP,但我意识到PHP在文件上传方面并不被认为是最好的,所以如果有必要,我很乐意使用其他语言。尽管如此,如果能够使用PHP实现一个不错的解决方案,那将是更好的选择

由于我没有这类项目的经验,我也不清楚这种应用程序需要什么样的服务器设置

我已经考虑了一些想法,但如果不合理,我愿意改变它们:

  • 如果可能的话,我想使用AmazonS3来存储文件(以减少服务器上的负载)
  • 我想能够在上传后重命名文件
  • 我正在考虑客户端的Uploadify(Uploadify.com)
基本上,想象一下,我想建立一个像wetransfer.com或yousendit.com这样的文件发送应用程序,你会得到大致的想法

我很熟悉互联网上99%关于这个主题的帖子所涉及的所有常见的PHP文件上传问题(检查mime类型、上传最大文件大小、内存限制等),但显然这个项目远远超出了普通的阿凡达上传脚本

我知道这是一个巨大的话题,我显然不希望有人给我一个神奇的解决方案,但基本上我在寻找一些从哪里开始的指针。有谁能推荐一些好书、文章或网站,让我更好地了解任务的要求吗?涵盖从编程到服务器需求的所有方面?即使只是一个我应该在谷歌上搜索的关键词或短语列表

提前谢谢


另外,我不能100%确定这是否是发布此问题的正确StackExchange站点。我还考虑了serverfault.com和webmasters.stackexchange.com。如果你认为这个问题最好在别处问,请告诉我。

如果你通过PHP上传,你需要确保它接受那些大文件。特别是上传最大文件大小、发布最大文件大小和最大输入时间。请参阅,了解如何使用的一般信息

有了它,您可以很好地绕过上述限制。它一次上传100MB的小数据块。这允许它跟踪上传的内容,以允许暂停/恢复上传


虽然我从未使用过AmazonS3,但我不相信您可以从任何客户端上传数据——至少在没有某种身份验证的情况下是这样。您可能需要通过自己的服务器将上载推送到S3。

如果您通过PHP将上载推送到S3,则需要确保它接受这些大文件。特别是上传最大文件大小、发布最大文件大小和最大输入时间。请参阅,了解如何使用的一般信息

有了它,您可以很好地绕过上述限制。它一次上传100MB的小数据块。这允许它跟踪上传的内容,以允许暂停/恢复上传


虽然我从未使用过AmazonS3,但我不相信您可以从任何客户端上传数据——至少在没有某种身份验证的情况下是这样。您可能需要通过自己的服务器将上传推送到S3。

对于具体代码的问题,您的问题有点过于宽泛。我会说它是站长的。@hakre谢谢你的建议,我会试试看。你不需要,如果有足够的票数,问题会自动移动。@hakre啊,好的,没有意识到这一点!你的问题对于一个关于具体代码的问题来说有点过于宽泛。我会说它是站长的。@hakre谢谢你的建议,我会试试看。你不需要,如果有足够的票数,问题会自动移动。@hakre啊,好的,没有意识到这一点!感谢您提供resumable.js的提示。尽管如此,我只是快速浏览了一下,因为它依赖于HTML5文件API,浏览器支持将非常有限。但我肯定会给它一个合适的外观,谢谢。你可以为有能力的浏览器提供一个好的解决方案(HTML5),另外为旧浏览器提供一个后备方案(比如使用Flash)。这将被称为“渐进增强”,感谢resubable.js上的提示。尽管如此,我只是快速浏览了一下,因为它依赖于HTML5文件API,浏览器支持将非常有限。但我肯定会给它一个合适的外观,谢谢。你可以为有能力的浏览器提供一个好的解决方案(HTML5),另外为旧浏览器提供一个后备方案(比如使用Flash)。这将被称为“渐进增强”