@mt_max

Get запросы, работа с апи телеграмм — PHP?

добрый вечер. хочу реализовать отправку формы сайта в телеграмм, несколько текстовых полей и картинка. написал вот такой скрипт по статьям и урокам... в общем тут 2 раза функцию send() вызываю чтобы запрос к апи сделать, первый раз все хорошо, сообщение приходит, ответ получаю, второй раз вызываю туже функцию, с другим параметром чтобы фото послать и она как будто не выполняется, curl не чего не возвращает, сам запрос правильный тестил через браузер и картинка улетает. что я делаю неправильно
код
<?php
$p1= $_POST['name'];
$p2= $_POST['email'];
$p3=  $_POST['reg_phone'];
$p4= $_POST['reg_education'];
$chatid="371194029";
$url="адрес сайта";
 
$mes="https://api.telegram.org/bot:мойтокен/sendMessage?chat_id=$chatid&text=$p1%0A$p2%0A$p3%0A$p4%0A";
echo "$mes";echo"<br>";
send($mes);
 
$uploaddir = 'user_files/';
$uploadfile = $uploaddir . basename($_FILES['f']['name']);
 
 
 
if(is_uploaded_file($_FILES["f"]["tmp_name"]))
   {
     // Если файл загружен успешно, перемещаем его
     // из временной директории в конечную
     move_uploaded_file($_FILES["f"]["tmp_name"],
                        "user_files/".$_FILES["f"]["name"]);
                        $senphoto="https://api.telegram.org/bot:мойтокенHezRjN3bZe9_uVaNZ4tXE/sendPhoto?chat_id=$chatid&photo=$url/user_files/".$_FILES["f"]["name"];                       
                        send($sendPhoto);
                        echo "$senphoto";                       
    
   } else {
      echo("error");
   }
 
function send($url)
{
// создание нового ресурса cURL
$ch = curl_init();
// установка URL и других необходимых параметров
curl_setopt($ch, CURLOPT_URL, "$url");
//а это что бы на страницу не выводилось
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
//это в справочнике прочтете
curl_setopt($ch, CURLOPT_HEADER, 0);
// загрузка страницы и выдача её браузеру другими словами при открытии страницы где вы этот скрипт сделаете автоматически отправится сообщение в заданный вами телеграм чат.
 
$data=curl_exec($ch);
echo "$data";
echo"<br><br><br><br><br>";
// завершение сеанса и освобождение ресурсов
 
curl_close($ch);
}
 
?>
  • Вопрос задан
  • 1792 просмотра
Решения вопроса 1
BuriK666
@BuriK666
Компьютерный псих
$senphoto="https://api.telegram.org/bot:мойтокенHezRjN3bZe9_uVaNZ4tXE/sendPhoto?chat_id=$chatid&photo=$url/user_files/".$_FILES["f"]["name"];                       
                        send($sendPhoto);

Переменная senphoto, а в send передаете sendPhoto

чтоб такое избежать, включите вывод ошибок и warning
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
nastya_cyxarik
@nastya_cyxarik
php, python dev
а где ты в апи нашел sendPhoto ???
может это имелось ввиду https://core.telegram.org/method/messages.editChatPhoto
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы