Добрый день.
Помогите, пожалуйста.
Пишу PHP-скрипт, чтобы на сайте Wordpress появлялась запись при появлении новой публикации в моем сообществе Вконтакте.
Получаю запрос через VK API, вытаскиваю содержимое с помощью file_get_contents('php://input')
но получаемая строка url изображения имеет следующией вид:
Для просмотра ссылки Войдиили ЗарегистрируйсяИ когда я делаю $tmp_file = download_url($post_image);
то временный файл изображения вроде не создается. И после этого если делать $att_id = media_handle_sideload для $tmp_file, то $att_id получает значение "Извините, вам не разрешено загрузить этот тип файла".
Подозреваю что это из-за того, что при $tmp_file = download_url($post_image) у меня url не чисто файл с расширением изображения (.jpg), а сзади приписана еще куча всего.
Но если url изображения обрезать до:
Для просмотра ссылки Войдиили Зарегистрируйсято изображение не открывается вообще
Вот кусок кода, касающийся изображений полностью:
В итоге запись создается, текст на месте, а вместо картинок в редакторе белые квадраты, а во фронте нету ничего.
Раньше, до одного из обновлений VK API адрес картинки был нормальны, заканчивался на .jpg и все загружалось и работало.
Подскажите, как правильно вставить изображение по такой ссылке в запись Wordpress с помощью PHP?
Может как-то нужно предварительно обработать url, чтобы картинка была загружена, или делать это другими функциями?
Помогите, пожалуйста.
Пишу PHP-скрипт, чтобы на сайте Wordpress появлялась запись при появлении новой публикации в моем сообществе Вконтакте.
Получаю запрос через VK API, вытаскиваю содержимое с помощью file_get_contents('php://input')
но получаемая строка url изображения имеет следующией вид:
Для просмотра ссылки Войди
то временный файл изображения вроде не создается. И после этого если делать $att_id = media_handle_sideload для $tmp_file, то $att_id получает значение "Извините, вам не разрешено загрузить этот тип файла".
Подозреваю что это из-за того, что при $tmp_file = download_url($post_image) у меня url не чисто файл с расширением изображения (.jpg), а сзади приписана еще куча всего.
Но если url изображения обрезать до:
Для просмотра ссылки Войди
Вот кусок кода, касающийся изображений полностью:
PHP:
case 'wall_post_new';
$post_text = $data->object->text;
foreach ($data->object->attachments as $key => $value) {
if ($value->type == 'photo'){
$siz = $value->photo->sizes[3];
$post_images[] = $siz->url;
}
}
foreach ($post_images as $key => $value) {
$tmp_file = download_url($value);
//загружаем временный $tmp_file-файл в медиатеку Wordpress
$att_id = media_handle_sideload(array(
'name' => basename($value), // имя файла берем из URL-а
'tmp_name' => $tmp_file // путь к временному файлу
), 0);
}
Раньше, до одного из обновлений VK API адрес картинки был нормальны, заканчивался на .jpg и все загружалось и работало.
Подскажите, как правильно вставить изображение по такой ссылке в запись Wordpress с помощью PHP?
Может как-то нужно предварительно обработать url, чтобы картинка была загружена, или делать это другими функциями?