我制作了一个简单的Wordpress插件,可以向用户添加文件,但是当我尝试向用户添加超过139个文件时,我遇到了错误。
是否存在某种内置限制,包括php,wordpress甚至htaccess文件可能导致此问题?我这样说只是因为我的代码中没有任何内容可以设置任何限制。
这是我认为提交文件上传的代码:
//user porfile fields save
public function save_user_file_upload_fields($user_id) {
if (isset($_POST['bhuufu-user-uploads']['file_url_tmp']) && $extra_fields = array_filter($_POST['bhuufu-user-uploads']['file_url_tmp'])) {
foreach ($extra_fields as $key => $value) {
$_POST['bhuufu-user-uploads']['file_url'][] = $_POST['bhuufu-user-uploads']['file_url_tmp'][$key];
$_POST['bhuufu-user-uploads']['file_name'][] = $_POST['bhuufu-user-uploads']['file_name_tmp'][$key];
$_POST['bhuufu-user-uploads']['file_description'][] = $_POST['bhuufu-user-uploads']['file_description_tmp'][$key];
$_POST['bhuufu-user-uploads']['file_id'][] = $_POST['bhuufu-user-uploads']['file_id_tmp'][$key];
$_POST['bhuufu-user-uploads']['file_oname'][] = $_POST['bhuufu-user-uploads']['file_oname_tmp'][$key];
$_POST['bhuufu-user-uploads']['file_mime'][] = $_POST['bhuufu-user-uploads']['file_mime_tmp'][$key];
}
}
这一切都是用帖子完成的,所以我觉得这可能有问题,但我不确定是什么。它完美地达到了这个极限。
我已经做了一些搜索,但谷歌在提到这个特定数字时并没有提出任何关于任何阵列限制的信息,我很惊讶我是唯一一个谁遇到了这个问题。
答案 0 :(得分:3)
您可以查看max_input_vars&的价值max_input_nesting_level
使用phpinfo()
功能。尽量增加这些价值。设置后,它会限制您的输入数量(即表单中的字段)。
以上值可配置。修改您的php.ini
或htaccess
以更新这些值。
答案 1 :(得分:1)
就像我在原始问题上给你写的那样 - 这可能是因为你正在使用$ POST变量,并且传递了PHP版本5.3.9中引入的max_input_vars
中php.ini
变量的限制默认值为1000。
这是WP中的常见问题,通常人们会遇到处理菜单项的问题,如this post中所述我添加了评论on your original question(已关闭)您可以在此处阅读以获取更多详细信息。