为什么 HTML 表单停止处理大文件?
Why HTML form stopped working on large files?
我创建了一个上传表单,当我上传小文件时它工作正常。当我尝试上传大文件时,html 表单不起作用。你有过这样的经历吗?
根据您的 php 版本,您可以尝试类似的操作:
ini_set('post_max_size', '32M');
ini_set('upload_max_filesize', '32M');
ini_set('memory_limit', '32M');
只需将“32”替换为您想要的最大尺寸即可。
默认情况下,PHP 允许上传的最大文件为 2MB。您可以要求用户在上传前调整图片大小,但让我们面对现实吧:他们不会。幸运的是,我们可以在必要时增加限制。
两个 PHP 配置选项控制最大上传大小:upload_max_filesize
和 post_max_size
。对于 10 兆字节的文件大小,两者都可以设置为“10M”。
但是,您还需要考虑完成上传所需的时间。 PHP 脚本通常会在 30 秒后超时,但是在健康的宽带连接上上传一个 10MB 的文件至少需要 3 分钟(请记住,上传速度通常比下载速度慢五倍)。此外,操作或保存上传的图像也可能导致脚本超时。因此,我们需要将 PHP 的 max_input_time
和 max_execution_time
设置为 300(以秒为单位指定的 5 分钟)。
这些选项可以在您服务器的 php.ini
配置文件中设置,以便它们适用于您使用的所有 applications.if Apache,您可以在您的应用程序的 .htaccess
文件:
php_value upload_max_filesize 10M
php_value post_max_size 10M
php_value max_input_time 300
php_value max_execution_time 300
最后,您可以在 PHP 应用程序中定义约束:
ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');
ini_set('max_input_time', 300);
ini_set('max_execution_time', 300);
PHP也提供了set_time_limit()
的功能,不用直接设置max_execution_time
。
在您的 PHP 代码中设置选项可能更实用,因为当您的应用程序需要大量上传时,您可以延长执行时间并增加文件大小。其他形式将恢复为默认的 30 秒超时和 2MB 限制。
我创建了一个上传表单,当我上传小文件时它工作正常。当我尝试上传大文件时,html 表单不起作用。你有过这样的经历吗?
根据您的 php 版本,您可以尝试类似的操作:
ini_set('post_max_size', '32M');
ini_set('upload_max_filesize', '32M');
ini_set('memory_limit', '32M');
只需将“32”替换为您想要的最大尺寸即可。
默认情况下,PHP 允许上传的最大文件为 2MB。您可以要求用户在上传前调整图片大小,但让我们面对现实吧:他们不会。幸运的是,我们可以在必要时增加限制。
两个 PHP 配置选项控制最大上传大小:upload_max_filesize
和 post_max_size
。对于 10 兆字节的文件大小,两者都可以设置为“10M”。
但是,您还需要考虑完成上传所需的时间。 PHP 脚本通常会在 30 秒后超时,但是在健康的宽带连接上上传一个 10MB 的文件至少需要 3 分钟(请记住,上传速度通常比下载速度慢五倍)。此外,操作或保存上传的图像也可能导致脚本超时。因此,我们需要将 PHP 的 max_input_time
和 max_execution_time
设置为 300(以秒为单位指定的 5 分钟)。
这些选项可以在您服务器的 php.ini
配置文件中设置,以便它们适用于您使用的所有 applications.if Apache,您可以在您的应用程序的 .htaccess
文件:
php_value upload_max_filesize 10M
php_value post_max_size 10M
php_value max_input_time 300
php_value max_execution_time 300
最后,您可以在 PHP 应用程序中定义约束:
ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');
ini_set('max_input_time', 300);
ini_set('max_execution_time', 300);
PHP也提供了set_time_limit()
的功能,不用直接设置max_execution_time
。
在您的 PHP 代码中设置选项可能更实用,因为当您的应用程序需要大量上传时,您可以延长执行时间并增加文件大小。其他形式将恢复为默认的 30 秒超时和 2MB 限制。