• Как разделить строки?

    AleksMo
    @AleksMo Автор вопроса
    Спасибо большое! Я уже нашел, как определить количество вхождений пунктов в массиве.
    $kol=count($matches, COUNT_RECURSIVE); 
    $kol=$kol-1;
    echo $kol;


    Array
    (
        [0] => Array
            (
                [0] => 4.10.10 Формирует заявки на обучение работников РЭС с целью планирования потребности в обучении в образовательных организациях, а также потребности во внутрикорпоративных обучениях силами работников филиала в области гражданской обороны, охраны труда, пожарной безопасности, охраны окружающей среды, в том числе по способам защиты и действиям в чрезвычайных ситуациях, а также по оказанию первой помощи пострадавшим.
                [1] => 4.10.11 Контролирует своевременность прохождения работниками РЭС обучения и повышения квалификации.
                [2] => 4.10.11 Контролирует своевременность прохождения работниками РЭС обучения и повышения квалификации.
                [3] => 4.10.11 Контролирует своевременность прохождения работниками РЭС обучения и повышения квалификации.
                [4] => 4.10.11 Контролирует своевременность прохождения работниками РЭС обучения и повышения квалификации.
            )
    
    )


    kol=5
    sizeof($matches[0]); - результат почему-то 1
  • Как разделить строки?

    AleksMo
    @AleksMo Автор вопроса
    Спасибо! Вроде работает. Но теперь другая проблема, как понять, что в строке два пункта или более двух и разъединить их на строки?

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>PHPExcel Reader Example #20</title>
    </head>
    <body>
    <?php
    
    
    
    function readExelFile($filepath){
    ///var/www/add_woker/INFORM
    require_once($_SERVER['DOCUMENT_ROOT'] . '/Classes/PHPExcel/IOFactory.php');
    $ar=array(); // инициализируем массив
    $inputFileType = PHPExcel_IOFactory::identify($filepath);  // узнаем тип файла, excel может хранить файлы в разных форматах, xls, xlsx и другие
    $objReader = PHPExcel_IOFactory::createReader($inputFileType); // создаем объект для чтения файла
    $objPHPExcel = $objReader->load($filepath); // загружаем данные файла в объект
    $ar = $objPHPExcel->getActiveSheet()->toArray(); // выгружаем данные из объекта в массив
    return $ar; //возвращаем массив
    }
    
    
    	$file_path_excel = 'x.xlsx';
    	$ar=readExelFile($file_path_excel);
    	
    	
    
    echo'
    
    <table align="center" width="100%" border="1" style=" border: 1px solid black; border-collapse: collapse;">
      <thead>
        <tr>
    	<th scope="col">№</th>
         <th scope="col">№</th> 
    	
    	   
        </tr>
      </thead>
      <tbody>';   
    
    global $i;
    //Выводим все записи 	
    	
    	
    foreach($ar as $ar_colls){
    //$i++;
    //$zapis_0 = $ar_colls[0];//
    $zapis_1 = $ar_colls[1];// 
    
    
    
    
    // Принимает значение true, потому что $var пусто
    if (empty($zapis_1)) {
        //echo '$zapis_1 или 0, или пусто, или вообще не определена';
    }
    
    
    else{
    
    $i++;
    echo"<tr>
          <th scope='row'>$i</th>
     
          <td>$zapis_1</td>
          
    
    </tr>";}
    
    
    }
    
    
    
    
    echo'</tbody></table>';
    ?>
  • Как разделить строки?

    AleksMo
    @AleksMo Автор вопроса
    Rsa97, проблема в том что данные считываю из excel документа и пункты, которые нужно отдельно вывести находятся в одной ячейке.
  • Как отправить сообщение в viber с помощью PHP API?

    AleksMo
    @AleksMo
    AleksMo, саша, вот еще пример, что может бот, когда я в Viber пишу слово Новости 5ef8f05b335b3129851804.jpeg
  • Как отправить сообщение в viber с помощью PHP API?

    AleksMo
    @AleksMo
    саша, Кстати забыл написать если кто-то перейдет на страницу с скриптом или обновить ее, то будут тоже приходить сообщения Привет БОТ, поэтому страницу нужно скрывать от общего доступа!
  • Как отправить сообщение в viber с помощью PHP API?

    AleksMo
    @AleksMo
    саша, Основная функция бота — распознать запрос собеседника и корректно отреагировать на него. Тут уже сам придумываешь какие команды будет вводить пользователь и какой результат будет приходить ему обратно, например, ссылки на сайт, либо файлы и т.п. Также можно делать рассылку подписчикам бота.
  • Как отправить сообщение в viber с помощью PHP API?

    AleksMo
    @AleksMo
    саша, Это просто пример! на каждое сообщение бот пишет "Привет Это бот!"
    Можно создать условие, если текст например почта, то бот присылает в ответ допустим mail.ru.

    if ($viber->message->text == "Почта")
    {
    send_message($receiverID,'Здравствуйте '.$name_user.'! https://mail.ru,'Post_Text');    
    } 
    
    if ($viber->message->text == "Новости")
    {
    send_message($receiverID,'Здравствуйте '.$name_user.'! Читайте последние новости!','Post_Text');    
    send_message($receiverID,'0','Novosti'); 
        }
  • Как отправить сообщение в viber с помощью PHP API?

    AleksMo
    @AleksMo
    саша, Ошибка status":10,"status_message":"webhookNotSet","chat_hostname":"SN-CHAT-15_"} означает - Для аккаунта не был установлен веб-крючок. нужно произвести регистрацию сайта, где будет производиться обмен информации (вайбер - ваш сайт пример: https:/mysaite.ru ) для регистрации нужно выполнить команду

    выполнить запрос на адрес: https://chatapi.viber.com/pa/set_webhook

    команда

    {
    "url":"https:/mysaite.ru",
    "event_types":[
    "delivered",
    "seen",
    "failed",
    "subscribed",
    "unsubscribed",
    "conversation_started"
    ],
    "send_name": true,
    "send_photo": true
    }
  • Как отправить сообщение в viber с помощью PHP API?

    AleksMo
    @AleksMo
    Александр, нужно зарегистрировать бота https://partners.viber.com/ получить токен и выполнить команду в программе postman
    url: https://chatapi.viber.com/pa/get_account_info
    команда
    {
    }

    и вы узнаете свой ид только администратора, ид пользователей нужно ловить.
  • Как отправить сообщение в viber с помощью PHP API?

    AleksMo
    @AleksMo
    саша, кстати нужно еще создать бота и получить токен https://partners.viber.com/
    сайт должен иметь https иначе работать скрипты не будут
    Далее нужно сделать запрос, чтобы узнать свой id администратора.
    url: https://chatapi.viber.com/pa/get_account_info
    команда
    {
    }

    инструкция: https://developers.viber.com/docs/api/rest-bot-api/

    для начало можно команды выполнять через программу postman https://www.postman.com/downloads/, чтобы понять, что к чему, но ее нужно настроить ... и зайти в нее через google аккаунт.
    5ef656222b50c608741268.jpeg
  • Как отправить сообщение в viber с помощью PHP API?

    AleksMo
    @AleksMo
    саша, нет id это идентификатор пользователя, пример N+sta2GBP1NYuraoASY3xg==, у каждого бота может быть свой id пользователя. id нужно ловить, когда пользователь подписывается на бота. Если он подписан, только после этого можно отправляться сообщения (картинки, файл, текст и т.п.)
    # С помощью следующего кода мы записываем в текстовый файл входящую информацию от Viber. Это облегчит будущую разработку.
    file_put_contents("viber.txt",file_get_contents("php://input"));
    $viber1 = file_get_contents("viber.txt");
    $viber1 = json_decode($viber1);
  • Как отправить сообщение в viber с помощью PHP API?

    AleksMo
    @AleksMo
    function send_message($receiverID,$TextMessage,$Setting){
    $curl = curl_init();
    # Картинка для сообщения от бота
    $avatar_mes_img='http://'.$_SERVER['SERVER_NAME'].'/ImgBot/bot_mes.jpg';

    //Отправляем просто текст пользователю
    if ($Setting=='Post_Text')
    {

    $json_data = '{
    "receiver":"'.$receiverID.'",
    "min_api_version":1,
    "sender":{
    "name":"Shchukin FM",
    "avatar":"'.$avatar_mes_img.'"
    },
    "tracking_data":"tracking data",
    "type":"text",
    "text":"'.$TextMessage.'"
    }';
    }

    # Отправляем Контактное сообщение добавить номер телефона
    if ($Setting=='Post_Kontakt')
    {
    $json_data = '{
    "receiver":"'.$receiverID.'",
    "min_api_version":1,
    "sender":{
    "name":"Shchukin FM",
    "avatar":"'.$avatar_mes_img.'"
    },
    "tracking_data":"tracking data",
    "type":"contact",
    "contact":{
    "name":"'.$TextMessage.'",
    "phone_number":"'.$sulka.'"
    }
    }';
    }
  • Как отправить сообщение в viber с помощью PHP API?

    AleksMo
    @AleksMo
    Можно условие написать, чтобы зацикливание не было! Например, пишете команду и выполняется определенное условие! Позже пример кода напишу ...
  • Бот Viber как установить тело ответа?

    AleksMo
    @AleksMo
    <?php

    function send2($receiverID,$TextMessage){

    $curl = curl_init();
    $json_data = '{
    "receiver":"'.$receiverID.'",
    "min_api_version":1,
    "sender":{
    "name":"NameBot",
    "avatar":"https://dl-media.viber.com/img.jpg"
    },
    "tracking_data":"tracking data",
    "type":"text",
    "text":"'.$TextMessage.'"
    }
    ';
    $data = json_decode($json_data); // Преобразовываем в json код

    curl_setopt_array($curl, array(
    CURLOPT_URL => "https://chatapi.viber.com/pa/send_message",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    // CURLOPT_POSTFIELDS => JSON_encode($message),

    CURLOPT_POSTFIELDS => json_encode($data) , // отправка кода


    CURLOPT_HTTPHEADER => array(
    "Cache-Control: no-cache",
    "Content-Type: application/JSON",
    "X-Viber-Auth-Token: 000a000113e70003-0000000000000000-3c5f00094fb21000"
    ),
    ));

    $response = curl_exec($curl);
    $err = curl_error($curl);

    curl_close($curl);

    if ($err) {
    echo "cURL Error #:" . $err;
    } else {
    echo $response;
    }
    }

    # записываем в текстовый файл входящую информацию от Viber.
    file_put_contents("viber.txt",file_get_contents("php://input"));
    $viber = file_get_contents("viber.txt");
    $viber = JSON_decode($viber);
    # из файла вытаскиваем данные пользователя
    $json1 = file_get_contents("https://domen.ru/viber.txt");
    $obj1 = json_decode($json1);
    # массив с данными пользователя ...

    $sender = $obj1->{'sender'}; //
    $name_user=$sender->name;//Имя
    $avatar = $sender->avatar; //Картинка
    $receiverID = $sender->id;

    echo $receiverID;

    if ($receiverID != "")

    {

    send2($receiverID,'Привет Это бот!'); //Вызываем функцию отправки сообщения

    }

    ?>