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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2023, 21:51   #1
Iskatel S
Пользователь
 
Регистрация: 16.06.2012
Сообщений: 32
По умолчанию Вопросы начинающего и задачка с curl и json

Изучаю PHP, учебник есть, но не хватает практических задачек. Буду благодарен, есть мне в ответах несколько задачек подкинут. Цель - изучить PHP до уровня, чтобы писать скрипты, автоматизирующие администрирование (не для web). Кстати я очень плохо понимаю ООП.

Вопрос 2 - есть одна практическая задача, решение которой я вроде бы нашёл в Интернете, но понимаю не до конца. Нужно взаимодействовать с zabbix API, допустим есть некий URL https://zabbix.telecom.org/zabbix/api_jsonrpc.php на него нужно отправить запрос в формате JSON и получить ответ также в JSON. Код такой:

Код:
$ch = curl_init("https://zabbix.telecom.org/zabbix/api_jsonrpc.php");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
curl_close($ch);
С назначением функций понятно, curl_init() - инициализирует сеанс curl, curl_setopt() - устанавливает параметры, что это POST-запрос и в переменной $data - содержится текст исходного запроса в формате JSON, curl_exec() - сам запрос, в переменную $response попадёт его результат. Непонятно вот что: $ch - дескриптор сеанса curl, без которого все эти функции невозможны, но какой тип у переменной $ch? Это объект? Где он описан? Дальше нужно будет распарсить содержимое переменной $response, чтобы извлечь отттуда нужные мне данные, можете подтолкнуть в каком направлении думать?

Последний раз редактировалось Iskatel S; 05.03.2023 в 21:53.
Iskatel S вне форума Ответить с цитированием
Старый 05.03.2023, 22:23   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Цитата:
Сообщение от Iskatel S Посмотреть сообщение
$ch - дескриптор сеанса curl, без которого все эти функции невозможны, но какой тип у переменной $ch? Это объект? Где он описан?
https://www.php.net/manual/ru/function.curl-init.php

Цитата:
Сообщение от Iskatel S Посмотреть сообщение
Дальше нужно будет распарсить содержимое переменной $response, чтобы извлечь отттуда нужные мне данные, можете подтолкнуть в каком направлении думать?
https://www.php.net/manual/ru/function.json-decode.php
macomics вне форума Ответить с цитированием
Старый 08.03.2023, 21:47   #3
Lapita12
Новичок
Джуниор
 
Регистрация: 08.03.2023
Сообщений: 24
По умолчанию

1.Напишите скрипт на PHP, который будет генерировать случайный пароль из 8 символов (буквы верхнего и нижнего регистра, цифры).
2.Напишите скрипт на PHP, который будет находить все простые числа в диапазоне от 1 до 100.
3.Напишите скрипт на PHP, который будет находить все анаграммы в заданном списке слов.
4.Напишите скрипт на PHP, который будет проверять, является ли заданное число палиндромом
5.Напишите скрипт на PHP, который будет находить сумму всех чисел Фибоначчи меньше заданного числа.
6.Напишите скрипт на PHP, который будет конвертировать заданное число из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления.
7.Напишите скрипт на PHP, который будет находить все числа Армстронга в диапазоне от 1 до 1000.
8.Напишите скрипт на PHP, который будет находить все совершенные числа в диапазоне от 1 до 1000.
9.Напишите скрипт на PHP, который будет генерировать случайные числа и записывать их в файл, а затем считывать их из файла и выводить на экран.
10.Напишите скрипт на PHP, который будет находить все уникальные элементы в заданном массиве.
Lapita12 вне форума Ответить с цитированием
Старый 10.03.2023, 08:52   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

все ринулись делать - волосы назад
ADSoft вне форума Ответить с цитированием
Старый 10.03.2023, 13:55   #5
Iskatel S
Пользователь
 
Регистрация: 16.06.2012
Сообщений: 32
По умолчанию

Lapita12, спасибо! Хотелось, конечно бы задач не на математику, а на работу с функциями и объектами PHP, хотя этих 10 задач тоже хватит для того, чтобы со всеми конструкциями синтаксиса поработать.
Вот например один вопрос, прошу прощения, что такую глупость спрашиваю, но я так и не смог найти ответа как вывести значение строковой переменной с переводом сроки, в моём учебнике написано, что для перевода строки можно использовать тег <br>. Но я занимаюсь не web-программированием, поэтому такой способ мне не подходит, и опять же, что использовать: echo или print?

И ещё один вопрос вдогонку по curl. Эти 2 команды идентичны по функционалу:
Код:
curl_setopt($ch, CURLOPT_POST, true);
и
Код:
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
Iskatel S вне форума Ответить с цитированием
Старый 10.03.2023, 14:56   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Цитата:
Сообщение от Iskatel S Посмотреть сообщение
что использовать: echo или print?
по барабану.... для перевода строки можно использовать /r/n или лучше предопределенную константу PHP_EOL которая будет содержать символ разделителя строк в соответствии с вашей ОС

Цитата:
Сообщение от Iskatel S Посмотреть сообщение
идентичны по функционалу
по сути - да
ADSoft вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помощь в curl. ответ - json файл, нужно достать некоторые значения. Dami321 PHP 2 30.03.2017 23:08
отправка json через curl к C# CodeNOT PHP 5 10.04.2013 10:31
вопросы начинающего NickolayNest Общие вопросы по Java, Java SE, Kotlin 5 15.07.2012 22:47
Вопросы начинающего Влад Влад C# (си шарп) 15 08.04.2012 20:21
Задачка на массивы. Попутные вопросы(С) Александр Елис Помощь студентам 5 30.10.2009 16:39