当size大于500kb时,base64_decode图像或pdf在PHP中失败

时间:2015-10-22 17:52:15

标签: php ajax wordpress base64 file-put-contents

我正在使用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)));  
}

1 个答案:

答案 0 :(得分:1)

我们不知道错误是什么,但我怀疑它可能包含您的变量post_max_sizeupload_max_filesize。您可以在php.ini配置中修改这些内容, 在运行之前添加以下命令,查看它是否有效,并根据以下内容修改ini:

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