Вот код, который я использовал для загрузки изображения.
$this->load->library('upload'); $ext = pathinfo($file_name, PATHINFO_EXTENSION); $img_name = now() . "." . $ext; $imgConfig['upload_path'] = $this->image_path; $imgConfig['file_name'] = $img_name; $imgConfig['max_size'] = '2048'; $imgConfig['allowed_types'] = 'jpg|png|bmp'; $imgConfig['overwrite'] = FALSE; $this->upload->initialize($imgConfig); if ($this->upload->do_upload("image_url")) { $this->Playlist_model->update_playlist($insert_id, array("image_url" => $img_name)); }
И интерфейс – это просто
<input type = 'file' >
Проблема в том, что, поскольку загрузка изображения должна быть миниатюрами видео, что мне делать, чтобы реализовать загрузку? например, используя плагин в интерфейсе для ограничения / урожая (любая рекомендация)
Кроме того, на стороне сервера, как я могу проверить?
maintain_ratio
это предпочтение вам поддерживать соотношение
Specifies whether to maintain the original aspect ratio when resizing or use hard values.
Для получения дополнительной информации https://ellislab.com/codeigniter/user-guide/libraries/image_lib.html Изменение размера изображения в соответствии с шириной и урожайностью Extra Height, изменение и обрезка кодаигнита в Codeigniter
$data_upload = $this->upload->data(); $file_name = $data_upload["file_name"]; $file_name_thumb = $data_upload['raw_name'].'_thumb' . $data_upload['file_ext']; $this->load->library('image_lib'); $config_resize['image_library'] = 'gd2'; $config_resize['create_thumb'] = TRUE; $config_resize['maintain_ratio'] = TRUE; $config_resize['master_dim'] = 'height';//Check link 1 below $config_resize['quality'] = "100%"; $config_resize['source_image'] = './' . $user_upload_path . $file_name; //for 16:9 width is 640 and height is 360(Check link 2 below) $config_resize['height'] = 360; $config_resize['width'] = 640; $this->image_lib->initialize($config_resize); $this->image_lib->resize(); $data["file_name_url"] = base_url() . $user_upload_path . $file_name; $data["file_name_thumb_url"] = base_url() . $user_upload_path . $file_name_thumb;
Примечания :
Функция do_upload : сохранение загруженного файла на веб-сервер, изменение размера файла и результат отображения.
CodeIgniter Просмотр для изменения размера изображения
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>CodeIgniter Upload And ReSize Image Maintain Ratio</title> </head> <body> <?php if(isset($upload_error)) { echo $upload_error; } else { ?> <strong>Thumbnail:</strong> <p><img src="<?php echo $file_name_thumb_url;?>" /></p> <strong>Original:</strong> <p><img src="<?php echo $file_name_url;?>" /></p> <?php } ?> </body> </html>
связи
<form action="up.php" method="post" enctype="multipart/form-data"> <input type="file" name="files" multiple id="files"/> </form>
Это up.php
list($width, $height) = getimagesize($_FILES['files']['tmp_name']); //i gave sample ratio 2.5 and 0.4 you can adjust yourself if(abs($width / $height) >= 2.5 || abs($width / $height) <= 0.4) { echo 'Image ratio is invalid'; exit ; }