Форум программистов, компьютерный форум, киберфорум
PHP: Yii, Yii2
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
4 / 4 / 6
Регистрация: 23.05.2012
Сообщений: 445

Как в yii скормить модели картинки, без формы?

07.12.2016, 13:14. Показов 1364. Ответов 2
Метки php, yii (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день,

Столкнулся с проблемой при парсинге списка данных. В данных имеются ссылки на папки с картинками, которые необходимо загрузить вместе с данными.

Если использовать следующую конструкцию:

@file_put_contents($pathLocale, file_get_contents($pathRemote));


То файлы загрузятся, но дополнительно нужно будет прописать кучу логики на изменение размера миниатюры и т.д.

Я бы хотел, чтобы картинки при
PHP
1
$model->save()
загружались таким же образом, как это происходит при загрузке элемента через форму. Т.к. отрабатываются поведение для основной картинки и поведение для доп. изображений ( в частности метод поведений afterSave())..

Сами данные успешно сохраняются, но вот картинки не подкидываются. Может неправильно прописал данные в $_FILES? OS linux mint

Пробовал так:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
''''
           $this->uploadImages($images, $bust);
            //  My::printArr($_FILES);
            //  My::printArr($_POST);
            if(!$model) {
                $model  =   new Objects();
            }
            $model->setAttributes($excel, true);
            if(!$model->save())
                echo 'Ошибка сохранения '. My::printArr($model->printErrors());
}
 
private function uploadImages($images, $path) {
        // foreach ((array)$_POST["prev_image_ids"] as $md5) {
        if(!$images){
            return;
        }
        foreach ($images as $image) {
            $md5    =   md5(microtime()); // basename($md5);
            $imagePath  =   $path . '/' . $image;
            $tmpName     =   "/tmp/{$md5}"; //"./already-uploaded/{$md5}";
            //  $img        =   'http://static2.t-ru.org/logo/logo.gif';
            $getInfo    =   getimagesize($imagePath);
            // My::printArr($getInfo);
            //  header('Content-type: ' . $getInfo['mime']);
            //  readfile($img);
            // die();
            $_FILES['Objects']["pictures"][]   =   [
                "tmp_name"  =>  $imagePath, // $tmpName,
                "size"      =>  filesize($imagePath),   // $tmpName
                "type"      =>  $getInfo['mime'],       // image/png
                "name"      =>  $image,                 // Screenshot_20161117_141028.png
                "error"     =>  UPLOAD_ERR_OK,
            ];
        }
        $_FILES['Objects']["photo"]    =   $_FILES['Objects']["pictures"][0];
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.12.2016, 13:14
Ответы с готовыми решениями:

Как в yii правильно сделать actionCreate для модели без связей?
Добрый день! Такая проблема, делаю регистрацию для пользователей. Есть модель User , в ней родные поля из таблицы: CODE, NAME,...

Как в Yii обращаться с текущей модели из базовой модели?
Есть Базовая, модель со всякими типичными действиями. Со статическими методами разобрался, к примеру, чтобы получить все опубликованные...

Как в Yii правильно наследовать модели?
Есть 2 таблицы - t_product и t_service , в них одинаковые поля: название, цена и т.д. Я создал модели и сгенерировал CRUD. Сделал так,...

2
wq
85 / 78 / 32
Регистрация: 26.11.2015
Сообщений: 481
09.12.2016, 18:34
Цитата Сообщение от EVOSandru6 Посмотреть сообщение
Может неправильно прописал данные
у вас отсутствует код сохранения загружаемых файлов
1
4 / 4 / 6
Регистрация: 23.05.2012
Сообщений: 445
09.12.2016, 19:06  [ТС]
Подскажите - как это сделать, чтобы добиться желаемого?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.12.2016, 19:06
Помогаю со студенческими работами здесь

Как в yii выполнить findAll в модели, унаследованной от CActiveRecord?
Добрый день. Унаследовал ActiveRecord от CActiveRecord и в свою очередь все модели от ActiveRecord , дабы у всех моделей были типичные...

Как в yii получить доступ высланной контроллером модели из layouts/column2.php?
Можете подсказать, как получить доступ к модели, отправленной в шаблон отображения из контроллера в файле layout/column2.php ? Почему то у...

Yii сохранение модели
вообщем столкнулся с такой вот чертовщиной: есть таблица, форма для изменения данных и вывод данных. по событию выводится форма...

Использование модели в контроллере YII
Подскажите пожалуйста можно ли указать в контроллере какие модели он будет использовать? Yii начал изучать недавно,до этого учил CakepHP...

Объявление полей в модели yii
в классе наследуемом от CFormModel мы явно задаем поля, например class LoginForm extends CFormModel { public $username; public...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru