Метод SendPhoto в telegram не работает

я бы хотел SendPhoto в моем местном хосте webhook, Картинка отсутствует на сервере телеграммы. Поэтому мне нужно загрузить его по многочастному заголовку.

Попытка кода:

$file=fopen("Untitled.png","rb");
$cont=fread($file,filesize("Untitled.png"));
$headers=array("Content-type: multipart/form-data");
$postfields = array("chat_id" => "108432389", "photo" => "$file");
$ch = curl_init();
$options = array(
CURLOPT_URL => "https://api.telegram.org/bot(Token)/SendPhoto",
CURLOPT_HEADER => true,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $postfields,
CURLOPT_INFILESIZE => filesize("Untitled.png"),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_HTTPHEADER => $headers
);
curl_setopt_array($ch, $options);
curl_exec($ch);

Но это не может SendPhoto.

Я искал решение на разных сайтах, но их код такой же, как и мой код.

Почему это не работает?

2

Решение

Вот моя функция PHP, которая делает эту работу.

sendPicture($id, "picture.png");


function sendPicture($_chatID, $file_on_server){

$target_url = 'https://api.telegram.org/**<YOUR TOKEN HERE>**/sendphoto';

$file_name_with_full_path = realpath('./'.$file_on_server);

$post = array(
'chat_id'   => $_chatID,
'photo'     => '@'.$file_name_with_full_path
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$target_url);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result=curl_exec ($ch);
curl_close ($ch);
echo $result;


}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]