Битрикс. Скачка файла CFile::MakeFileArray, где в имени файла есть пробелы
У меня идёт скачка файла с удалённого сервера по url с помощью $arFile = CFile::MakeFileArray($file_url); , а потом регистрация этого файла в таблице файлов $fileId = CFile::SaveFile($arFile, 'file_folder'). Но у меня не скачиваются файлы с именами, где есть пробелы, например вот этот: https://cdn-ru.bitrix24.ru/b19410268/crm/1a0/1a0814efe4117c9c406a25d24f89cb98/WhatsApp Image 2022-11-21 at 13.52.19.jpeg . urlencode не помогает. Как мне решить эту проблему? Вот код:
$arFile = CFile::MakeFileArray($add_pict_item);
if(!empty($arFile)) {
$arFile["MODULE_ID"] = "main"; // добавляем нужный модуль
$arFile["description"] = "";
$fileId = CFile::SaveFile($arFile, "downloaded_object_images");
$result[] = ['FILE_ID' => $fileId, 'REMOTE_PICTURE_URL' => $add_pict_item];
}
Ответы (1 шт):
Автор решения: TCHProgrammer
→ Ссылка
Я решил эту проблему. Нужно делать вот так:
foreach($add_pict_arr as $add_pict_item){
$arFile = CFile::MakeFileArray(str_replace(" ", "%20", $add_pict_item));
if(!empty($arFile)) {
$arFile["MODULE_ID"] = "main"; // добавляем нужный модуль
$arFile["description"] = "";
$fileId = CFile::SaveFile($arFile, "downloaded_object_images"); // второй параметр это путь относительно /upload/
$result[] = ['FILE_ID' => $fileId, 'REMOTE_PICTURE_URL' => $add_pict_item];
}
}