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.