我尝试越来越多,但我无法在数据库中保存两个具有不同名称的文件。
我的代码在这里:
if(!empty($_FILES['image']['name']))
{
$config['upload_path'] = 'uploads/content/';
$config['allowed_types'] = 'gif|jpg|jpeg|png|JPEG|PNG|GIF|bmp';
/* */
$newFileName = $_FILES['image']['name'];
$fileExt = @array_pop(explode(".", $newFileName));
$filename = md5(time().$newFileName).".".$fileExt;
$config['file_name'] = $filename;
$_POST['image'] = $filename;
/* */
$this->load->library('upload', $config);
if((! $this->upload->do_upload('image')) && $_FILES['image']['error'] != 4)
{
$upload_error = $this->upload->display_errors();
if(!empty($upload_error))
{
$this->session->set_flashdata('imageResponse', '<div class="alert alert-danger" role="alert">Image upload is not possible.only allowed gif or jpg or jpeg or png or gif or bmp</div>');
if($type=='install')
{
redirect(base_url().'addcontentinstallation');
}
if($type=='video')
{
redirect(base_url().'addcontentvedio');
}
if($type=='banner')
{
redirect(base_url().'addcontentbanner');
}
if($type=='website')
{
redirect(base_url().'addcontentwebsite');
}
//redirect('addcontent');
}
}
$data = $this->upload->data();
//$_POST['image'] = $data['orig_name'];
$this->upload->do_upload();
}
$_POST['image']=!empty($_POST['image'])?$_POST['image']:"";
if(!empty($_FILES['title_image']['name']))
{
$config['upload_path'] = 'uploads/content/';
$config['allowed_types'] = 'gif|jpg|jpeg|png|JPEG|PNG|GIF|bmp';
/* */
$newFileName = $_FILES['title_image']['name'];
$fileExt = @array_pop(explode(".", $newFileName));
$filename = md5(time().$newFileName).".".$fileExt;
$config['title_image'] = $filename;
$_POST['image'] = $filename;
/* */
$this->load->library('upload', $config);
if((! $this->upload->do_upload('title_image')) && $_FILES['title_image']['error'] != 4)
{
$upload_error = $this->upload->display_errors();
if(!empty($upload_error))
{
$this->session->set_flashdata('imageResponse', '<div class="alert alert-danger" role="alert">Image upload is not possible.only allowed gif or jpg or jpeg or png or gif or bmp</div>');
if($type=='install')
{
redirect(base_url().'addcontentinstallation');
}
if($type=='video')
{
redirect(base_url().'addcontentvedio');
}
if($type=='banner')
{
redirect(base_url().'addcontentbanner');
}
if($type=='website')
{
redirect(base_url().'addcontentwebsite');
}
}
}
$data = $this->upload->data();
//$_POST['title_image'] = $data['orig_name'];
$this->upload->do_upload();
}
$_POST['title_image']=!empty($_POST['title_image'])?$_POST['title_image']:"";
$this->content_model->add_conetent($_POST);
$this->session->set_flashdata('imageResponse', '<div class="alert alert-success" role="alert">Success! Offer Content added successfully!</div>');
if($type=='install')
{
redirect(base_url().'addcontentinstallation');
}
if($type=='video')
{
redirect(base_url().'addcontentvedio');
}
if($type=='banner')
{
redirect(base_url().'addcontentbanner');
}
if($type=='website')
{
redirect(base_url().'addcontentwebsite');
}
}
我搜索的更多,我发现我需要使用这个
$this->upload->initialize($this->set_upload_options($filename));
之前的! $this->upload->do_upload('title_image')) && $_FILES['title_image']['error'] != 4)
和
$this->upload->initialize($this->set_upload_options($filename));
before the ! $this->upload->do_upload('image')) && $_FILES['title_image']
['error']!= 4)但是我遇到错误,上传路径似乎没有效果 但是我无法做到这一点..
private function set_upload_options($filename_multi)
{
// upload an image options
$config = array();
$config['upload_path'] = 'assets/uploads/logo/';
$config['allowed_types'] = 'gif|jpg|png|jpeg|bmp|GIF|JPG|JPEG|jpeg|BMP';
$config['max_size'] = '30000';
$config['overwrite'] = FALSE;
$config['file_name'] = $filename_multi;
return $config;
}
请帮帮我。
答案 0 :(得分:0)
创建像这样的唯一文件名
$file_extension = pathinfo($_FILES["title_image"]["name"], PATHINFO_EXTENSION);
$file_name = pathinfo($_FILES["title_image"]["name"], PATHINFO_FILENAME);
$filename = md5(time() . $file_name ) . '.' . $file_extension;
答案 1 :(得分:0)
您需要致电
$this->upload->initialize(array(
'encrypt_name' => true // will create a unique name
));
对于您要上传的每个文件