Пишу бота для телеграма, Использую библиотеку:
https://github.com/mgp25/Telegram-Bot-API
Проблема в ошибке:
Fatal error: Class 'CurlFile' not found in /var/www/БЛАБЛАБЛА/src/Telegram.php on line 471
Хостер отказался обновлять версию PHP.
Вот функция с ошибкой:
private function uploadFile($method, $data)
{
$key = array(
'sendPhoto' => 'photo',
'sendAudio' => 'audio',
'sendDocument' => 'document',
'sendSticker' => 'sticker',
'sendVideo' => 'video',
'setWebhook' => 'certificate'
);
if (filter_var($data[$key[$method]], FILTER_VALIDATE_URL))
{
$file = __DIR__ . DIRECTORY_SEPARATOR . 'cache' . DIRECTORY_SEPARATOR . mt_rand(0, 9999);
$url = true;
file_put_contents($file, file_get_contents($data[$key[$method]]));
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = finfo_file($finfo, $file);
$extensions = array(
'image/jpeg' => '.jpg',
'image/png' => '.png',
'image/gif' => '.gif',
'image/bmp' => '.bmp',
'image/tiff' => '.tif',
'audio/ogg' => '.ogg',
'video/mp4' => '.mp4',
'image/webp' => '.webp'
);
if ($method != 'sendDocument')
{
if (!array_key_exists($mime_type, $extensions))
{
unlink($file);
throw new TelegramException('Bad file type/extension');
}
}
$newFile = $file . $extensions[$mime_type];
rename($file, $newFile);
$data[$key[$method]] = new CurlFile($newFile, $mime_type, $newFile);
}
else
{
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = finfo_file($finfo, $data[$key[$method]]);
$data[$key[$method]] = new CurlFile($data[$key[$method]], $mime_type, $data[$key[$method]]);
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->baseURL . $method);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = json_decode(curl_exec($ch), true);
if ($url)
unlink($newFile);
return $response;
}
Вот в этих строках проблемы:
$data[$key[$method]] = new CurlFile($newFile, $mime_type, $newFile);
/////////
$data[$key[$method]] = new CurlFile($data[$key[$method]], $mime_type, $data[$key[$method]]);