【发布时间】:2010-12-11 13:37:26
【问题描述】:
我想以相同的形式上传音频文件和图像并将它们的名称存储在数据库中...发生的情况是仅上传了一个文件(排在第一位的文件) 另一个给出了不允许类型的错误
这是我的看法:
<?php echo form_open_multipart('index.php/ena_dyo_edit');?>
Title:<input type='text' name="title" size="40" id="title" />
<p>Title Photo:<input type="file" name="title_photo" size="20" id="title_photo" /></p>
<p>Body:<textarea name="body" rows = "10" cols="60" id="body"></textarea><p>
<p>Soundfile:<input type="file" name="soundfile" size="20" id="soundfile" /></p>
<p>Author:<input type="text" name="author" size="40" id="author"/></p>
<p><input type="submit" value="Submit New Post"/></p>
<?php echo form_close(); ?>
这是我的模型函数:
function soundfile_upload($userfile = 'userfile'){
//uploads a sound file
$config = array(
'upload_path' => './uploads/soundfiles/',
'allowed_types' => 'mp3|wav|aif|aiff|ogg',
'max_size' => '256000' //250 MB max size
);
$this->load->library('upload', $config);
if (!$this->upload->do_upload($userfile)) {
$error = array('error' => $this->upload->display_errors());
$this->load->view('upload_error', $error);
}
else{
$soundfile_data = $this->upload->data();
$entry_title = $this->input->post('title'); //using the name of the post to relate the audio file
$entry_id = $this->db->insert_id(); //the id of our last entry!
//create array to load to database
$insert_data = array(
'soundfile' => $soundfile_data['file_name']
);
//$this->db->where('id', $entry_id);
$this->db->update('entries', $insert_data,array('id' => $entry_id)); //load array to database
}
}
function title_photo_upload($userfile = 'userfile'){
//uploads a photo for a post title
$config = array(
'upload_path' => './uploads/title_photos/',
'allowed_types' => 'jpg|jpeg|gif|png',
'max_size' => '256000' //250 MB max size
);
$this->load->library('upload', $config);
if (!$this->upload->do_upload($userfile)) {
$error = array('error' => $this->upload->display_errors());
$this->load->view('upload_error', $error);
}
else{
$soundfile_data = $this->upload->data();
$entry_id = $this->db->insert_id(); //the id of our last entry!
//create array to load to database
$insert_data = array(
'title_photo' => $soundfile_data['file_name']
);
$this->db->update('entries', $insert_data,array('id' => $entry_id)); //load picture where id = entry_id
}
}
【问题讨论】:
标签: php codeigniter file-upload