media_handle_upload函数产生空白页

时间:2018-10-26 16:04:26

标签: php mysql wordpress

因此,当前我正在使用自定义表单,允许已登录的用户上传图像。我正在使用Wordpress media_handle_upload 函数来处理此任务。

直到最近,该功能一直可以正常工作。用户能够上传小于一兆字节的图像。但是,当尝试上传较大的图像时,将出现可怕的空白屏幕。即使我在配置文件中将'WP_DEBUG'设置为true,也不会产生错误消息。

我对此进行了测试,以获取大于4 MB的图像,即使随后出现空白屏幕,该图像实际上仍已上传到上传目录。我什至检查了数据库,发现为该图像创建的附件记录。我的托管平台配置为处理大图像,因此我无所适从。还有其他人遇到过类似的问题吗?这是代码:

function uploadGalleryImages($input_name) 
{
    $files = $_FILES[$input_name];
    foreach ($files['name'] as $key => $value) {
        $error = false;
        if (trim($value) != '') {

            /* Run tests for errors */
            if ($files['error'][$key]) {
                //return $_FILES[$input_name]['error'][$key];
                $error = true;
            }

            $image_data = getimagesize($files['tmp_name'][$key]);

            //Check for proper file types
            if (!in_array($image_data['mime'], unserialize(TYPE_WHITELIST))) {
                $error = true;
            }
            //Check if file exceeds max upload size, in this case 10 MB
            if (($files['size'][$key] > MAX_UPLOAD_SIZE)) {
                $error = true;
            }
            /* End of run tests for errors */

            /* If no error, proceed to upload */
            if (!$error) {
                $file = array(
                    'name' => $files['name'][$key],
                    'type' => $files['type'][$key],
                    'tmp_name' => $files['tmp_name'][$key],
                    'error' => $files['error'][$key],
                    'size' => $files['size'][$key]
                );

                $_FILES = array("upload_file" => $file);
                $attachment_id = media_handle_upload("upload_file", 0);


                if (!is_wp_error($attachment_id)) {
                    //Success
                } else {
                    //Failure
                }
            } else {
                //Error messages
            }
        }
    }// End foreach     
    return;
}

0 个答案:

没有答案