SplFileInfo :: getSize не работает, если в имени файла есть специальные символы (русский, китайский ...)

У меня есть функция, которая пытается получить размер моих загруженных файлов, но не работает, если в имени файла есть специальные символы, такие как французские, русские или китайские символы:

  • 5b99109c1a10e_装配工具大样册.pdf
  • 5b99104337d6b_Kаталог 2016 Русский.pdf
  • 5b99140a5a47d_Brochure CVI3 (Français).pdf

Вот ошибка:

SplFileInfo::getSize(): stat failed for C:\wamp\www\DESiwid\app/../web/uploads/documents\5b99104337d6b_Kаталог 2016 Русский.pdf

А вот мой код:

/**
 * @param Document $document
 * @return int
 */
private function getSize(Document $document)
{
    /* retrieve Symfony\Component\HttpFoundation\File\File $file from entity */
    $file = $document->getFileFile();
    /* return file size */
    return $file->getSize();
}

вам нужно переименовать загрузки и заменить специальные символы iguess

john Smith 21.12.2018 14:26

Может ли это быть проблема с кодировкой? Можете ли вы получить контент из объекта $file, или это тоже не удается?

dbrumann 21.12.2018 14:54

распечатайте, пожалуйста, еще код: сущность и полные методы, которые вы используете для загрузки файла.

Yassine CHABLI 21.12.2018 18:21
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
105
0

Другие вопросы по теме