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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2015, 12:15   #11
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от lola_lola1 Посмотреть сообщение
И что значит получить по расписанию?
Cron
Cron — запуск программ пользователя в указанное время

Касательно передачи JSON через cURL – небольшой пример:
Файл-отправитель:
PHP код:
$data = array("name" => "Hagrid""age" => "36");
$json_data json_encode($data);
if( 
$curl curl_init() ) {
    
curl_setopt($curlCURLOPT_URL'http://sandbox.loc/curl/receiver.php');
    
curl_setopt($curlCURLOPT_CUSTOMREQUEST"POST");
    
curl_setopt($curlCURLOPT_RETURNTRANSFERtrue);
    
curl_setopt($curlCURLOPT_HEADER0);
    
curl_setopt($curlCURLOPT_POSTFIELDS$json_data);
    
curl_setopt($curlCURLOPT_HTTPHEADER, array('Content-Type: application/json'));
    
$out curl_exec($curl);
    echo 
$out;
    
curl_close($curl);

Файл-получатель receiver.php:
PHP код:
$json file_get_contents('php://input');
$data json_decode($jsonTRUE);
print_r($data); 
Вывод в результате:
Цитата:
Array ( [name] => Hagrid [age] => 36 )
Данные успешно отправлены и получены.
Andkorol вне форума Ответить с цитированием
Старый 10.12.2015, 19:51   #12
lola_lola1
Новичок
Джуниор
 
Регистрация: 08.12.2015
Сообщений: 11
По умолчанию

А, за крон поняла. Так и хотела настроить потом запуск раз в несколько дней.

Спасибо за cURL, единственное у меня до сих пор осталась ошибка, что файл-отправитель показывает заполненный $_POST, получатель - пустой
lola_lola1 вне форума Ответить с цитированием
Старый 10.12.2015, 20:14   #13
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от lola_lola1 Посмотреть сообщение
единственное у меня до сих пор осталась ошибка, что файл-отправитель показывает заполненный $_POST, получатель - пустой
Если при отправке указывается заголовок Content-Type: application/json – то в получателе $_POST и будет пустой.
Я ж показал пример, как в получателе получить отправленные JSON-данные – зачем там $_POST ещё?
Andkorol вне форума Ответить с цитированием
Старый 10.12.2015, 20:20   #14
lola_lola1
Новичок
Джуниор
 
Регистрация: 08.12.2015
Сообщений: 11
По умолчанию

ооой, простите, всё верно, самого ['http_raw_post_data'] нет, и ему неоткуда получить file_get_contents('php://input'); получается, что json - пустая строка
lola_lola1 вне форума Ответить с цитированием
Старый 10.12.2015, 20:23   #15
lola_lola1
Новичок
Джуниор
 
Регистрация: 08.12.2015
Сообщений: 11
По умолчанию

Правильно ли что print_r выполняется в получателе, но выводится в отправителе? Меня это постоянно сбивает с толку и вводит в тупик. Почему так происходит?
lola_lola1 вне форума Ответить с цитированием
Старый 10.12.2015, 20:40   #16
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от lola_lola1 Посмотреть сообщение
получается, что json - пустая строка
Чего это вдруг она пустая?
В моём примере данные успешно передаются, и отображаются в получателе.
Цитата:
Сообщение от lola_lola1 Посмотреть сообщение
Правильно ли что print_r выполняется в получателе, но выводится в отправителе? Меня это постоянно сбивает с толку и вводит в тупик. Почему так происходит?
Правильно.
При указании опции CURLOPT_RETURNTRANSFER=true curl_exec возвращает весь вывод, который выполняет скрипт-получатель.
Вот мы в получателе выполнили print_r($data); – это вывод в браузер, его и возвращает curl_exec.
Выполнили бы мы там вместо этого echo 'Hello world!';curl_exec вернул бы фразу «Hello world!».
А затем в отправителе мы, в свою очередь, выводим этот результат в браузер при помощи echo $out;
Andkorol вне форума Ответить с цитированием
Старый 10.12.2015, 21:02   #17
lola_lola1
Новичок
Джуниор
 
Регистрация: 08.12.2015
Сообщений: 11
По умолчанию

Спасибо огромное, всё получилось и результаты в базу записала)
Я еще не разобралась с навигацией на этом сайте, если есть тут такая возможность, то я бы хотела оставить положительный отзыв о Вас или плюсануть репутацию?
lola_lola1 вне форума Ответить с цитированием
Старый 10.12.2015, 21:08   #18
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Это совсем не обязательно
Успехов вам!
Andkorol вне форума Ответить с цитированием
Старый 10.12.2015, 21:22   #19
lola_lola1
Новичок
Джуниор
 
Регистрация: 08.12.2015
Сообщений: 11
По умолчанию

Спасибо Вам огромное еще раз
lola_lola1 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с функцией Ximerka Паскаль, Turbo Pascal, PascalABC.NET 0 09.04.2009 00:14
помогите с функцией 1234 Общие вопросы Delphi 5 30.08.2008 10:55
Помогите с функцией Родион Общие вопросы Delphi 3 08.05.2008 19:18