base64_decode 图片或 pdf 在 PHP 中失败,当大小高于 500kb 时

base64_decode image or pdf is failing in PHP when size is higher than 500kb

我正在使用 AJAX 上传文件(图片或 pdf)。我的过程是将文件转换为 base64,然后通过 AJAX 发送数据,然后在服务器端 (PHP) 处理以成为图像或 pdf。这是我在服务器端的代码,它工作正常但当文件大小超过 500kb 时失败。

if ($picture_ext == 'pdf') { //pdf                      
    $image_generated_name = $select_name . '_' . $generate_rand_num . '_file.pdf';                      
    file_put_contents(WP_PLUGIN_DIR.'/plugin_name/uploads/'.$image_generated_name, base64_decode(substr($product_img_upload,28)));
} else { //image    
    file_put_contents(WP_PLUGIN_DIR.'/plugin_name/uploads/'.$image_generated_name, base64_decode(substr($product_img_upload,22)));  
}

我们不知道错误是什么,但我怀疑它可能与您的输入变量 post_max_sizeupload_max_filesize 有关。您可以在 php.ini 配置中修改这些, 在运行之前添加以下命令,看看是否有效,并在此基础上修改您的ini:

ini_set('post_max_size', '10M');
ini_set('upload_max_filesize', '10M');