Есть загрузка в массив картинки в формате base64.
$base64 = 'data:image/' . $type . ';base64,'. base64_encode($data);
$data['numOne'] = strval($base64);
А есть загрузка в массив картинки в формате ссылки.
$data['numOne'] = file_create_url($file->uri);
Оба возвращают строку.
Но в первом примере выходит ошибка. При этом если вставить готовый результат виде строки в первый пример то всё работает.
illegal string offset
Заметил, что я использую одну и тужу переменную.
Вы формируете строку картинки
$base64 = 'data:image/' . $type . ';base64,'. base64_encode($data);
из этой строки можно предположить, что $data - это строковый контент вашей картинки, а никак не массив. Но в следующей строке вы обращаетесь к $data как к массиву
$data['numOne'] = ...;
что и вызывает ошибку
illegal string offset
поскольку строке тоже можно обратиться как к массиву, но индекса 'numOne' в нем нет
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости