Из 1С идет GET запрос. Один из параметров - название файла. И он иногда называется русскими символами.
https://мойсервер/telegrambot/file.php?apibot=24953021_______Pnjwywdkg&chatid=-1003333102111&document=Продажи_месяц_май.xls
К примеру в таком виде. И тогда файл в не отправляется. Если в названии будет просто цифры: 2018.xls, то все отлично отрабатывает и отправляется. Перепробовал разные вещи. В чем проблема?
Ниже код:
header('Content-Type: text/html; charset= utf-8');
$botToken = $_GET['apibot'];
$website="https://api.telegram.org/bot".$botToken;
$chatId = $_GET['chatid']; //Receiver Chat Id
$caption = $_GET['caption'];
$file_send = "./file_temp/".$_GET['document'];
$file_s = iconv("windows-1251","UTF-8",$file_send);
$file_name_with_full_path = realpath($file_s);
$params=array(
'chat_id'=>$chatId,
'document' => '@'.$file_name_with_full_path,
'caption' => $caption,
);
$proxy_port = "1080";
$proxy_ip = "___.me";
$loginpassw = '126____1ba';
$ch = curl_init($website . '/senddocument');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy_port);
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
curl_setopt($ch, CURLOPT_PROXY, $proxy_ip);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $loginpassw);
curl_setopt($ch, CURLOPT_POSTFIELDS, ($params));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
curl_close($ch);