php 将base64编码文件上传到Wordpress
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 将base64编码文件上传到Wordpress相关的知识,希望对你有一定的参考价值。
<?php
function base64_upload($base64, $filename = null) {
if (!$filename) $filename = md5($base64);
if (!pathinfo($filename, PATHINFO_EXTENSION)) $filename .= '.jpg';
$content = base64_decode($base64);
$upload_dir = wp_upload_dir();
$file = $upload_dir['path'] . DIRECTORY_SEPARATOR . $filename;
file_put_contents($file, $content);
$mime_info = wp_check_filetype_and_ext($file, $filename);
if ($mime_info['proper_filename']) $filename = $mime_info['proper_filename'];
$file_info = array(
'name' => $filename,
'type' => $mime_info['type'],
'tmp_name' => $file,
'error' => 0,
'size' => strlen($content)
);
$overrides = array(
'test_form' => false,
'test_size' => true
);
$result = wp_handle_sideload($file_info, $overrides);
if (empty($result['error'])) {
$attachment = array(
'guid' => $result['file'],
'post_mime_type' => $mime_info['type'],
'post_title' => $filename,
'post_content' => '',
'post_status' => 'inherit'
);
$result['id'] = wp_insert_attachment($attachment, $result['file']);
$result['metadata'] = wp_generate_attachment_metadata($result['id'], $result['file']);
wp_update_attachment_metadata($result['id'], $result['metadata']);
}
return $result;
}
?>
以上是关于php 将base64编码文件上传到Wordpress的主要内容,如果未能解决你的问题,请参考以下文章
请不要用php进行base64编码文件上传
PHP base64_decode 产生无效的图像文件
如何使用Jmeter在Web服务中上传和编码(base64)文件
上传图片文件转换成blob
如何仅使用 JavaScript 将 base64 编码的图像数据上传到 S3?
如何将音频文件转为base64 编码