Codeigniter не работает переименование файла изображения - PullRequest
0 голосов
/ 06 ноября 2018

Я использую codeigniter и пытаюсь загрузить файлы изображений.

Все работает нормально, но я не могу изменить имя загруженного файла на произвольное имя.

Я пробовал все за последние 5 часов, ничего не работает.

Если кто-нибудь может помочь, было бы здорово.

Мне просто нужно переименовать загруженный файл в custom_name.jpg

Файл контроллера

 public function uploadimage() {

     $config['overwrite'] = TRUE;
     $config['file_name'] = 'custom_name.jpg';
     $config["allowed_types"] = 'jpg|jpeg|png|gif';
     $config['upload_path'] = './uploads/';

     $config["max_size"] = 1024;
     $config["max_width"] = 400;
     $config["max_height"] = 400;
     $this->load->library('upload', $config);

    if(!$this->upload->do_upload()) {               
        $this->data['error'] = $this->upload->display_errors();
    } else {
        echo "success";                                      
    }  

}

Просмотр файла

<?php echo form_open_multipart('admin/uploadimage'); ?>    
<?php echo form_upload('userfile'); ?><br />
<?php echo form_submit('upload', 'Upload');?>    
<?php echo form_close(); ?>

1 Ответ

0 голосов
/ 06 ноября 2018

просто удалите пользовательское расширение из file_name и добавьте расширение загруженного файла.

public function uploadimage() {

 $config['overwrite'] = TRUE;
 $config['file_name'] = 'custom_name';
 $config["allowed_types"] = 'jpg|jpeg|png|gif';
 $config['upload_path'] = './uploads/';

 $config["max_size"] = 1024;
 $config["max_width"] = 400;
 $config["max_height"] = 400;
 $this->load->library('upload', $config);

if(!$this->upload->do_upload()) {               
    $this->data['error'] = $this->upload->display_errors();
} else {
    echo "success";                                      
}  

}

Вы также можете использовать функцию rename для переименования файла после успешной загрузки.

Также проверьте это.

Каталог загрузки доступен для записи, а путь может быть абсолютным или относительным.

Установите настройки, вызвав метод initialize(), если вы автоматически загружаете класс $this->upload->initialize($config)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...