Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2015, 17:11   #1
der90
Пользователь
 
Регистрация: 12.02.2014
Сообщений: 73
По умолчанию Познаю мир

Столкнулся с таким кодом
PHP код:
$inputJSON file_get_contents('php://input');
if(
$inputJSON!=''){
 
$input json_decode$inputJSONTRUE ); //convert JSON into array
 
if(count($input)!=''){
  foreach (
$input as $name => $value) {
  
$_POST[$name]=$value;
  
//echo "$name = $value <br>";
  
}
 }

Прошу пояснить этот код, про php-потоки достаточно много информации, но чем этот подход лучше чем просто постом отправлять, возможно я неправильно понимаю суть этого подхода.
der90 вне форума Ответить с цитированием
Старый 15.05.2015, 17:55   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
Получает содержимое файла в строку
$inputJSON = file_get_contents('php://input');
Если строка не пустая
if($inputJSON!=''){
 То преобразовать JSON формат данных в массив понятный PHP
 $input = json_decode( $inputJSON, TRUE ); //convert JSON into array
 Если в преобразованном из JSON в массив есть элементы (Массив не пустой)
 if(count($input)!=''){
 То пройтись по ассоциативному массиву 
 Где input - элемент массива, name - ключ к значению
  foreach ($input as $name => $value) {
  $_POST[$name]=$value;
  //echo "$name = $value <br>";
  }
 }
}
Цитата:
чем этот подход лучше чем просто постом отправлять
А где тут альтернатива поста? Это получение JSON данных, парсинг (или я бы даже сказал вычисление и формирование) их в справочник, и после проход по этому справочнику в плане формирования строки поста из этого массива.
Я может чего-то недопонял, но я не вижу тут отправки.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.05.2015, 18:37   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Получает содержимое файла в строку
Какого еще файла? Содержимое запроса там читается. php://input вместо $_POST потому что нужно просто все тело запроса (JSON), $_POST по-моему вообще ничего не распарсит (и будет пустым) кроме обычных форм с application/x-www-form-urlencoded
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 15.05.2015 в 18:43.
Alex11223 вне форума Ответить с цитированием
Старый 15.05.2015, 19:04   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
php://input
Это мну сбило с толку. Верно. Это получение сырых данных из строки запроса.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мир комиксов. Bormon Свободное общение 10 18.11.2014 13:59
Хромированный мир mutabor Свободное общение 2 25.11.2009 07:21