Константин
Через foreach наверное...
Эмин
вы бы еще свой вопрос задали нормально
Константин
Мне приходит json многоуровневый, то есть пришел массив 'newstype' : {'id': '44', 'name':'Новость 1'}
Константин
Как мне вытащить из этого массива поле name
Константин
?
👻
если формат не меняемый то $json->name если это объект у тебя или же $json['name'] если масив
Константин
Декодировать json мне не нужно
👻
это вопрос или утверждение ?
Константин
массив nestype
Константин
это утверждение
Константин
а в нем объекты
👻
ну так в чем проблема тогда
Константин
Ой
Константин
А в нем много объектов
👻
ну var_dump($json) и смотрти структуру ну или через браузер приходящий json смотри каким нить jsonview а там дальше все сам поймешь
👻
скорее всего в начале проходишь foreach а потом из $item берешь уже name
Константин
Он передает только последнее значение
Константин
if ($response->isOk) { if ($response->data['res']!=0){ $data = $response->data; foreach ($data['newstype'] as $value=>$val) { $tmp = $val['name']; } var_dump($tmp);die(); $dataProvider->allModels = $tmp; return $dataProvider; } } return null;
Константин
$tmp =['']; $dataProvider = new ArrayDataProvider(['allModels'=>[]]); $client = new Client(); $response = $client->createRequest() ->setMethod('GET') ->setFormat(Client::FORMAT_JSON) ->setUrl('http://server.me/rest/newstype/all?token='.Yii::$app->session->get('token')) ->send(); if ($response->isOk) { if ($response->data['res']!=0){ $data = $response->data; foreach ($data['newstype'] as $value=>$val) { $tmp = $val['name']; } var_dump($tmp);die(); $dataProvider->allModels = $tmp; return $dataProvider; } } return null;
Roman
Декодировать json мне не нужно
Ты изобретаешь проблему на ровном месте
Виктор
Основы иди почитай. Что говорить, если самых примитивных основ не знаешь.
Виктор
И дальше будет проще жить
👻
$tmp = $val['name']; тут наверное надо что тот типа $tmp[] = $val['name'];
Виктор
Там то и форыч не нужен. ArrayHelper все умеет
Vladislav
Всем привет. Никто не подскажет почему форма на сайте после переноса с Openserver на виртуальную машину может выдовать ошибку 400?
👻
open_short_tag например
👻
смолтри в логи
Vladislav
логи апача или yii?
👻
и те и те
Vladislav
и как вообще open_short_tag может влиять на это?
👻
обычно апача хватает может еще реврайт не включен или не отстроен
👻
код валиться
👻
потому что переменной какой то не может найти ибо в 1 месте у тебя <? а в другом <?php
👻
логи как раз и дадут тебе более ясную картину что сломалось
Vladislav
он open_short_tag включенный так что врятли это он
Vladislav
Ничего не узнал кроме Access to debugger is denied due to IP address restriction. The requesting IP address is 192.168.83.1
👻
и что ни в каких логах ничего нет ?
Vladislav
в nginx тоже нет ничего
Vladislav
apache на сервере нет
👻
ну чудес не бывает
Максим
чюдес так точно
Vladislav
в форме несколько моделей и при изменении одной выдаёт такую ошибку
Vladislav
будем разбираться
👻
может где то файлик не в том регистре сохранил и не находит модель винде пофиг на регистр а вот линуксу нет
Slava
Slava
Там должна быть инфа подробнее
Slava
А в access log?
Vladislav
только с какого браузера видимо поступали запросы
Vladislav
на другой vm где есть apache вот такой log [Wed May 30 06:30:46.835405 2018] [:error] [pid 3797] [client 192.168.33.1:31222] PHP Warning: POST Content-Length of 14829419 bytes exceeds the limit of 8388608 bytes in Unknown on line 0, $
Slava
ну вот) нужно поднять лимит на размер post запроса.
Максим
может не оно?
Slava
в php ini
Slava
а что вы в форме отправляете? картинки?
Slava
попробуйте пустую форму отправить
Vladislav
я просто отправляю в форме pdf файл
Vladislav
пустую нормально
Vladislav
как только отправляю pdf, то вот такая ошибка
Slava
а пдф размером меньше 8 мб ?
Vladislav
14
Vladislav
попробую скачаю какой нибудь тестовый на пару мб
Slava
вот какая-то статья. но смысл там понятен https://www.drupal.org/docs/7/managing-site-performance-and-scalability/increase-upload-size-in-your-phpini
Slava
подними просто лимит в пхп и все
Slava
в nignx кстати тоже нужно проверить гуглить можно так php max post size nginx max post (request) size
Slava
дальше уже сам
Максим
подними просто лимит в пхп и все
а если юзеры будут слать файлы больше лимита? будет ошибка вываливаться. надо другое решение
Slava
здесь решение только написать им не слать больше лимита или с помощью js проверять размер файла перед отправкой
Vladislav
@kohone всё равно лимит надо... я думаю врятли они будут слать pdf например в 1гб
Vladislav
иначе они так серв нагнут
Slava
вот один из примеров https://stackoverflow.com/questions/3717793/javascript-file-upload-size-validation
Максим
можно на валидации проверять в моделе
валидация может не пройти, если до нее 400 ошибка выскочит
Slava
еслии клиентская валидация то пройдет.
Максим
yiiшная валидация вроде js генерит
это да, если включена клиентская
Slava
не помню умеет ли yii из коробки это. нужно доки читать