Задать вопрос
@ugodrus

Почему не отправляется POST с загрузкой файлов с кириллическими именами?

Люди который с таким сталкивались.. подскажите как побороть.

Проблема в следующем: есть CLI скрипт общающийся с неким апи через lib_curl и отсылающий документы из указанных директорий. Всё было нормально и не вызывало проблем пока файлы были с названиями вида /[a-z0-9_-]+/i. Но обнаружилась проблема с файлами в названии которых есть кириллица. Сам PHP молчит. Ни ошибок ни ворнингов. Однако я так подозреваю curl не может прицепить файлы с такими именами. curl_error() ругается на первый же попавшийся файл с кириллическим именем в запросе. Есть конечно вариант делать временные файлы на основе существующих но он сомнителен хотя бы потому что эти запросы собираются в multicurl от 2 до 6 запросов в пачке и до 8 файлов на запрос. Получится слишком много манипуляций с диском а это не желательно.

Очень жду помощи.
  • Вопрос задан
  • 297 просмотров
Подписаться 1 Оценить 3 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@ugodrus Автор вопроса
Нашел кое-что на тему curl can't open Unicode filenames in Windows.

Судя по написанному ( пробежался мельком ) проблема такая есть и разработчики в курсе но решение отложено.
Возможно когда-нибудь исправят. А пока что реализовал отправку файлов через символическую ссылку: создаю символическую ссылку ( из оперы uniqid() ) на файл с кириллицей в названии, а после успешной отправки её подтираю. Всё-таки лучше чем распихивать дубликаты весом до 60мб по диску.

Проблема не зависит от ОС. На Linux тот же эффект. Проблема возникает при сборке запроса перед его отправкой. Старый вариант подключения файлов через "@filepath" тоже не подгружает данные, но хотя бы пытается отправить запрос с указанием передаваемых файлов, но пустых.

Надеюсь на то, что у кого-нибудь найдется более простое и элегантное решение проблемы.
А пока пусть мой вопрос с моим же комментарием поможет кому-нибудь не наступить на те же грабли.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽