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_size
和 upload_max_filesize
有关。您可以在 php.ini
配置中修改这些,
在运行之前添加以下命令,看看是否有效,并在此基础上修改您的ini:
ini_set('post_max_size', '10M');
ini_set('upload_max_filesize', '10M');
我正在使用 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_size
和 upload_max_filesize
有关。您可以在 php.ini
配置中修改这些,
在运行之前添加以下命令,看看是否有效,并在此基础上修改您的ini:
ini_set('post_max_size', '10M');
ini_set('upload_max_filesize', '10M');