Хорошо, поэтому я пару раз общался с этим в течение нескольких часов, читая документы и форумы, но не могу понять, почему эта форма загрузки не работает.CodeIgniter Загрузка изображений Не работает и нет ошибок
Вся форма отлично работает, данные сохраняются в БД и все такое. Но я просто добавил вход для загрузки изображений, и он не работает! Я выполнил точный учебник в документах, а также несколько других.
Вот код, который обрабатывает отправки формы ($this->page_m
моя модель):
public function edit ($id = NULL)
{
// Fetch a page or set a new one
if ($id) {
$this->data['page'] = $this->page_m->get($id);
count($this->data['page']) || $this->data['errors'][] = 'page could not be found';
}
else {
$this->data['page'] = $this->page_m->get_new();
}
// Pages for dropdown
$this->data['pages_no_parents'] = $this->page_m->get_no_parents();
// Process the form
if ($this->form_validation->run('page_rules') == TRUE) {
$data = $this->page_m->array_from_post(array(
'title',
'slug',
'body',
'template',
'parent_id'
));
if(!empty($_FILES['userfile'])) {
$this->do_upload();
}
$this->page_m->save($data, $id);
redirect('admin/page');
}
// Load the view
$this->data['subview'] = 'admin/page/edit';
$this->load->view('admin/_layout_main', $this->data);
}
и вот код, который обрабатывает загрузку фотографий, которая называется сразу после $this->form_validation->run()
проверки:
//upload a slider photo
public function do_upload() {
$config = array(
'allowed_types' => 'jpg|jpeg|gif|png',
'upload_path' => site_url('uploads/')
);
$this->load->library('upload');
$this->upload->initialize($config);
$field_name = "userfile";
if (! $this->upload->do_upload($field_name)) {
$this->data['error'] = array('error' => $this->upload->display_errors());
$this->data['subview'] = 'admin/page/edit';
$this->load->view('admin/_layout_main', $this->data);
} else {
return true;
}
}
Я специально создал этот сценарий загрузки как можно более простой и простой для целей отладки, но все же я не имел успеха в том, чтобы загрузить эту форму.
После того, как я получаю загрузку, мне нужно сохранить имя изображения в моей таблице базы данных, но это, кроме того, прямо сейчас. Мне просто нужно это загрузить.
решаемые - INVALID ЗАГРУЗИТЬ КАТАЛОГ
ли вы добавить 'ENCTYPE =" многослойную/форм-данных «формироваться? –
Да, я открываю форму с помощью 'echo form_open_multipart()', которая является функцией codeigniter, чтобы открыть многостраничную форму –
, имеет ли ваш каталог загрузки правильные разрешения? – Jeemusu