File Manager V1.5
FILE_CONTENT: sms_helper.php
<?php
/**
* Функция для отправки SMS через SMS.RU API
*
* @param string $api_id API ключ SMS.RU
* @param string|array $to Номер телефона или массив номеров (можно указать через запятую)
* @param string $msg Текст сообщения
* @return array Массив с результатом отправки
*/
function sendSMS($api_id, $to, $msg) {
// Преобразуем массив в строку через запятую, если передан массив
if (is_array($to)) {
$to = implode(',', $to);
}
// Подготавливаем текст сообщения для URL
$msg_encoded = urlencode($msg);
// Формируем URL запроса
$url = "https://sms.ru/sms/send?api_id={$api_id}&to={$to}&msg={$msg_encoded}&json=1";
// Выполняем запрос
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$curl_error = curl_error($ch);
curl_close($ch);
if ($curl_error) {
return [
'success' => false,
'message' => 'Ошибка cURL: ' . $curl_error,
'error' => $curl_error
];
}
if ($http_code !== 200) {
return [
'success' => false,
'message' => 'HTTP ошибка: ' . $http_code,
'http_code' => $http_code
];
}
$result = json_decode($response, true);
if (json_last_error() !== JSON_ERROR_NONE) {
return [
'success' => false,
'message' => 'Ошибка парсинга JSON ответа',
'raw_response' => $response
];
}
// Проверяем статус ответа от SMS.RU
if (isset($result['status']) && $result['status'] === 'OK') {
return [
'success' => true,
'message' => 'SMS отправлено успешно',
'data' => $result
];
} else {
return [
'success' => false,
'message' => $result['status_text'] ?? 'Неизвестная ошибка отправки SMS',
'data' => $result
];
}
}
[ KEMBALI ]