我想知道您是否可以post_max_size
为特定页面或功能(在 中php.ini
)设置唯一?
您可以将其设置在.htaccess
php_value upload_max_filesize 4M
php_value post_max_size 4M
但它不适用于特定页面。ini_set()
也不适用于特定页面。
有什么建议么?
不幸的是,不可能。post_max_size(和upload_max_filesize)在脚本启动之前使用,因此设置它们的唯一方法是在.htaccess 或php.ini 中。
upload_max_filesize 不能在运行时更改(使用 ini_set)。
upload_max_filesize
无法使用 进行设置ini_set()
。“官方”名单表明它是PHP_INI_PERDIR
您可以在 3 个位置设置它:用于所有页面的全局 .htaccess 的 php.ini 和用于本地网站/实例的 php 脚本。
尝试删除您的 .htaccess 并查看它是否从 php.ini 读取。请记住在更改 php.ini 后重新启动服务器以使其生效。如果使用 linux,请尝试:
sudo apachectl graceful
如果这不起作用,您将需要检查您的 php 代码的最大大小。如果它在代码中,它太宽泛了,我无法说出它是什么。
您不能upload_max_filesize
在运行时更改。如果您想为您的应用程序/网站的不同部分自定义限制,您必须将upload_max_filesize
&设置为您希望允许的最大值,然后您必须使用函数 filesize()post_max_size
手动强制下限
例如:您将upload_max_filesize
&设置post_max_size
为 100M,您可以通过检查文件的大小,在特定页面/功能手动拒绝大于 50M 的上传