Автор оригинала: David Wong.
Имя файла, который будет загружен для проекта, остается неизменным. Установлено, что загрузка китайского языка не удалась: ошибка заключается в следующем:
Переместить ﹐ загруженный ﹐ файл (общедоступный/загрузка/файлы/2019/04-17/\ вторичная разработка открытого секрета. RAR): не удалось открыть поток: недопустимый аргумент
Причиной сбоя, вероятно, является проблема с кодировкой. При сохранении файла вам необходимо изменить китайский с utf8toGB2312.
Добавить: если вы используете TP5 для загрузки, файл будет находиться в строке 374 think/file.php. Большинство решений заключается в перекодировании следующими методами, но будут проблемы. После перекодирования файл будет успешно загружен, а затем будет сообщено об ошибке:
elseif (!move_uploaded_file($this->filename, iconv('utf-8','gb2312',$filename))) {
$this->error = 'upload write error';
return false;
}Будет выдано исключение:
Splfileobject:: Построить (/загрузить \ файлы \ 2019 \ 04-16 \ ресурс. RAR): не удалось открыть поток: нет такого файла или каталога
Решать:
Загрузите китайский случайный код. Если используется транскодирование iconv, оно не должно быть перекодировано при перемещении? Загружено? Файл(). Он должен быть перекодирован примерно в 422 строках метода класса файла buildsavename():
Последний абзац:
вернуть значок (‘utf-8′,’gb2312’,$сохранить имя);
Поэтому, если вы загружаете Ajax, не забудьте вернуть его в utf8, когда вернетесь. Например, возвращенный китайский код искажен, и синтаксический анализ Ajax сообщает об ошибке:
Например, tp5.0 выглядит следующим образом:
$return_data['url'] = '/'.UPLOAD_PATH.$new_path.iconv('gb2312','utf-8',$info->getSaveName());
$this->ajaxReturn($return_data);резюме
Приведенное выше описание состоит в том, что небольшой редактор сообщил вам, что загруженному файлу не удалось загрузить китайское имя файла на PHP, в надежде помочь вам. Если у вас есть какие-либо вопросы, пожалуйста, оставьте мне сообщение, и маленький редактор ответит вам вовремя. Большое вам спасибо за вашу поддержку разработанного бумажного сайта! Если вы считаете, что эта статья полезна для вас, добро пожаловать на перепечатку, пожалуйста, укажите источник, спасибо!
Оригинал: “https://developpaper.com/analysis-on-the-failure-of-uploading-chinese-file-name-in-php/”