Загружаю файл и его данные после того, как пользователь заполнил форму, но получил ошибку.Где в моем коде мне нужно настроить, чтобы разрешить успешную загрузку файла?
Это для загрузки аудиофайла в папку для выгрузки, затем его имени в базу данных и других данных, введенных пользователем в форму.,
public function music_upload_success(){
if($this->logged_in()){
$fname = array();
$MusicCount = count($_FILES['fname']['name']);
for ($i = 0; $i < $MusicCount; $i++) {
$_FILES['file']['name'] = $_FILES['fname']['name'][$i];
$_FILES['file']['type'] = $_FILES['fname']['type'][$i];
$_FILES['file']['tmp_name'] = $_FILES['fname']['tmp_name'][$i];
$_FILES['file']['error'] = $_FILES['fname']['error'][$i];
$_FILES['file']['size'] = $_FILES['fname']['size'][$i];
$uploadPath = './uploads/music/';
$config['upload_path'] = $uploadPath;
$config['allowed_types'] = 'mp3';
$this->load->library('upload', $config);
$this->upload->initialize($config);
if ($this->upload->do_upload('file')) {
$musicData = $this->upload->data();
$uploadMusicData[$i]['fname'] = $musicData['file_name'];
}
}
if (!empty($uploadMusicData)) {
$title = $this->input->post('title');
// Insert files data into the database
$this->m_uploads->save_music($uploadMusicData, $title);
print_r($uploadMusicData);
}
$this->load->view('admin/music_uploaded_successfully');
}else{
$this->load->view('admin/login');
}
}
// Это форма
<form class="form-horizontal" action="<?php echo base_url();?>music_uploaded_successfully" method="post">
<div class="card-body">
<h4 class="card-title">Upload New Music</h4>
<div class="form-group row">
<label for="fname" class="col-sm-3 text-right control-label col-form-label">File</label>
<div class="col-sm-9">
<input type="file" name="song" required="required" size="20"/>
</div>
</div>
<div class="form-group row">
<label for="title" class="col-sm-3 text-right control-label col-form-label">Title</label>
<div class="col-sm-9">
<input type="text" name="title" class="form-control" id="title" placeholder="" required="required">
</div>
</div>
</div>
<hr>
<div class="card-body">
<div class="form-group m-b-0 text-right">
<a href="<?php echo base_url();?>music_json" class="btn btn-success waves-effect waves-light" style="color:#ffffff;">Generate JSON Data</a>
<button type="submit" class="btn btn-purple waves-effect waves-light">Save</button>
<button type="submit" class="btn btn-outline-purple waves-effect waves-light">Cancel</button>
</div>
</div>
</form>
Я ожидаю, что выбранный пользователем файл будет загружен в папку, а имя файла, загруженного в базу данных, плюс другая формавходы также в базу данных