Codeigniter завантаження файлів та збереження шляху до БД
Здрастуйте читачу, сьогодні розглянемо завантаження файлів на сервер в Codeigniter від а до я.
Для початку створимо форму для завантаження файлів.
load->helper('form'); $this->load->helper('url');?> - використовуємо хелпери форми та урл для формування правильної форми, атрибут такої форми буде формуватися залежно від $config['base_url'] - встановленого у файлі конфігурації Codeignater (application - config - comfig.php).
$item['post_id'] - це id записи в БД, в запис ми внесемо новий шлях до логотипу.
Тепер напишемо функцію завантаження файлів на сервер за допомогою Codeignater.
public function edit_fotosession_img($id)
else < $data=$this->upload->data(); $img_puth='images/'.$data['file_name']; $this->db->query("UPDATE post SET post_img='$img_puth' WHERE post_id='$id'"); echo' ';>
> //echo'не натиснуто кнопку завантаження';)
Розглянемо докладніше цей код.
if($this->input->post(‘download’)) -якщо натиснута кнопка завантаження (можна обійтися і без цієї перевірки)
$config['upload_path'] ='images'; - вказуємо в масиві налаштувань бібліотеки завантаження файлів шлях куди завантажувати файли, варто звернути увагу, що тут не потрібно використовувати base_url(). Просто задаємо шлях від кореневого каталогу. Зверніть увагу на те, щопапка повинна мати дозвіл для запису (Права 777).
$config['allowed_types'] = 'gifjpgpngjpeg'; — дозволені для завантаження розширення файлів
$config['max_size'] = '150000'; -максимальний розмір файлу, що завантажується (Кб)
$this->load->library('upload', $config); — підключаємо бібліотек завантаження файлів і передаємо їй масив налаштувань
if (!$this->upload->do_upload()) — завантаження файлів та перевірка результатів завантаження ( вдала \ невдала)
$data=$this->upload->data(); — заносимо в змінну $data інформацію про завантажений файл, $this->upload->data() — надає досить повну інформацію про завантажений файл.
$img_puth='images/'.$data['file_name']; — вносимо в змінну$img_puth шлях до нашого файлу
Ну а далі вносимо шлях до щойно завантаженого файлу в БД.
echo' '; — виводимо повідомлення про успішне завантаження і переходимо на одну сторінку назад, тобто повертаємося назад на сторінку завантаження файлу.
Ну це все що потрібно для реалізації простого завантаження файлів за допомогою Codeigniter.