Проблема с ботом Telegram, разработанная в Stack Overflow

Примерно пару месяцев назад я мог загружать фотографии с моего пути бота с версией 5.5. Теперь я обновил свой PHP до 5.6 и не знаю почему, но больше не могу.
Это был мой код:

$url = "https://api.telegram.org/bot".Token."/sendPhoto?chat_id=".$chat_id;

$post_fields = array(
'photo'     => new CURLFile(realpath("test.png"))
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type:multipart/form-data"));
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
$output = curl_exec($ch);

0

Решение

Используйте эту функцию, которую я написал для CURL:

function makeHTTPRequest($method, $types = []){
$url = 'https://api.telegram.org/bot'.Token.'/'.$method;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($types));
$res = curl_exec($ch);
if (curl_error($ch)){
var_dump(curl_error($ch));
} else {
return json_decode($res);
}
}

Затем позвоните туда, куда хотите:

var_dump(makeHTTPRequest('sendPhoto', [
'chat_id' => $chat_id,
'photo' => new CURLFile('test.png')
]));
0

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector