#wordpress
Вопрос:
Я использовал wp_handle_upload
его с самого начала, и он отлично работает. Теперь я хочу получить строку base64 (jpg) из почтового магазина API в metabox, а затем преобразовать ее в jpg(пока она не будет работать нормально). Затем мне нужно загрузить его в медиатеку и прикрепить к сообщению. когда я передаю файл с file_get_contents
или fopen
он не работает. Есть какие-нибудь идеи?
function base64ToImage($base64){
$img = base64_decode($base64);
require_once( ABSPATH . 'wp-admin/includes/image.php' );
require_once( ABSPATH . 'wp-admin/includes/file.php' );
require_once( ABSPATH . 'wp-admin/includes/media.php' );
// wp_handle_upload( $_POST['img'], 0 );
$fp = fopen(get_template_directory()."/xxxxxxxxxxxxxxxxxxxxxxxxx.jpg", "w ");
// write the data in image file
fwrite($fp, base64_decode($base64));
// close an open file pointer
fclose($fp);
wp_handle_upload( file_get_contents("../" ."/xxxxxxxxxxxxxxxxxxxxxxxxx.jpg"), 0 );
return 0;
}
Ответ №1:
Так что для моего прошлого » я » и для всех, кто может найти это полезным. Вместо этого я использовал wp_upload_bits
функцию, которую впоследствии использовал -wp_insert_attachment
-wp_generate_attachment_metadata
-wp_update_attachment_metadata
-set_post_thumbnail
для того, чтобы связать изображение с конкретным родительским сообщением.