Я разрабатываю веб-сайт с использованием Angular JS + Codeigniter.
Проблема заключается в загрузке изображений. Имена файлов с пробелом не будут загружены (например: "first image.jpg").
Если мы удалим пространство, оно будет загружено (например, "firstimage.jpg"). Это моя конфигурация.
$config = array(
'allowed_types' => 'jpg|jpeg|gif|png',
'max_size' => 2048, //2MB max
'upload_path' => $this->original_path,
'remove_spaces' => true
);
$this->load->library('upload', $config);
3 ответа
Удалите ненужные пробелы и символы из имени файла с помощью.
$file_name = $_FILES["userfiles"]['name'];
$newfile_name= preg_replace('/[^A-Za-z0-9]/', "", $file_name);
$config = array('allowed_types' => 'jpg|jpeg|gif|png',
'upload_path' => $this->original_path,
'file_name'=>$newfile_name);
Во-первых, я бы спросил: "Что не так с удалением пробелов в том виде, в котором они есть?" Вы действительно хотите, чтобы загруженные файлы оставались с пробелами?
Чистый способ сделать это - формализовать то, что вы уже нашли, и объединить логику в новый класс или метод некоторого существующего (контроллера?) Класса:
- Решите, каков полный диапазон допустимых символов для имен файлов, загружаемых пользователем в ваше приложение / сайт.
- Создайте регулярное выражение, которое преобразует различные входные строки (например, имена файлов с пробелами, символы табуляции и любые другие нежелательные вещи) в пригодное для использования имя файла в соответствии с вашими требованиями.
- Вызовите эту функцию / класс :: функция соответственно
Попробуйте эту функцию, если в вашем имени файла есть только пробелы:
Когда вы получаете свои данные в контроллер в этой функции, вы должны использовать обрезку перед переходом к модели следующим образом:
$ file_name = trim ($ _ FILES ["файлы пользователей"] ['имя']); так что вы можете легко удалить пробелы из имени файла.
Похожие вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.