Мне сложно определить, что я делаю неправильно, и как устранить неполадки при попытке использовать библиотеку загрузки.У меня есть форма с несколькими полями (в основном текст), с одним полем загрузки изображения.Данные, введенные в текстовые поля, правильно заполнены в моей базе данных, но файл изображения, который пользователь просматривает для загрузки, не отображается в папке, которую я создаю в корне, его разрешения позволяют записывать в нее.Вся помощь очень ценится.Спасибо!
Частичное представление ниже:
<p>
<label for="uEventFillByDateTime">Event Fill-by Date/Time:</label>
<input type="text" id="uEventFillByDateTime" name="uEventFillByDateTime" />
</p>
<p>
<label for="uEventImage">Event Image:</label>
<?php echo form_open_multipart('upload/do_upload');?>
<input type="file" name="uEventImage" size="20" id="uEventImage" />
</p>
<p>
<label for="uEventKeywords">Event Keywords:</label>
<textarea id="uEventKeywords" name="uEventKeywords"></textarea>
</p>
Вызов контроллера:
public function createEvent() {
if( !empty( $_POST ) ) {
echo $this->event_model->createEvent();
}
}
Код модели:
public function createEvent() {
$this->image_path = realpath(APPPATH . 'event_images');
$config = array(
'allowed_types' => 'jpg|jpeg|gif|png',
'upload_path' => $this->image_path,
'max_size' => 2000,
'max_width' => 212,
'max_height' => 118
);
$this->load->library('upload', $config);
$this->upload->do_upload();
$image_data = $this->upload->data();
/*format date time from string to mysql */
$cdt = $this->input->post( 'cEventDateTime', true );
$cdtMySQL = date("Y-m-d H:i:s", strtotime($cdt));
/*format fill-by date time from string to mysql */
$cfdt = $this->input->post( 'cEventFillByDateTime', true );
$cfdtMySQL = date("Y-m-d H:i:s", strtotime($cfdt));
$data = array(
'event_name' => $this->input->post( 'cEventName', true ),
'event_datetime' => $cdtMySQL,
'event_fillbydatetime' => $cfdtMySQL,
'event_keywords' => $this->input->post( 'cEventKeywords', true ),
'event_notes' => $this->input->post( 'cEventNotes', true ),
'event_featured' => $this->input->post( 'cEventFeatured', true ),
'fk_venue_id' => $this->input->post( 'cEventVenue', true ),
'fk_eventtype_id' => $this->input->post( 'cEventType', true ),
'fk_eventlifecycle_id' => $this->input->post( 'cEventlifecycle', true ),
);
$this->db->insert( 'event', $data );
return $this->db->insert_id();
}