【发布时间】:2012-02-07 08:59:06
【问题描述】:
我正在为我的一个项目使用 CI 2.1.0 和 mysql 数据库。我的图片上传方法有问题。我上传的图像应该保存在上传目录中,并创建图像的缩略图版本,图像路径应该保存在数据库中。
我完成的代码工作正常,但有一个问题是,当我上传图像时,在上传目录中我得到同一张图像的两个副本,而在拇指目录中,我得到上传图像的一个副本。我只想拥有图像的一份副本,而不是那两份。
这是我的代码->
型号:
function do_upload() //to upload images in upload directory
{
$i=$this->db->get('portfolio')->num_rows();
$i=$i+1;
$image_path=realpath(APPPATH . '../uploads');
$config=array(
'allowed_types'=>'jpeg|png|gif|jpg',
'upload_path'=>$image_path,
'max_size'=>2097152,
'file_name'=>'_'.$i.'_'
);
$this->load->library('upload', $config);
$this->upload->do_upload();
$image_data = $this->upload->data();
$config=array(
'source_image'=>$image_data['full_path'],
'new_image'=>$image_path.'/thumbs',
'maintain_ration'=>TRUE,
'width'=>150,
'height'=>100
);
$this->load->library('image_lib', $config);
$this->image_lib->resize();
if( ! $this->upload->do_upload())
{
$error = array('error' => $this->upload->display_errors());
return $error;
}
else
{
return $image_data;
}
}
请告诉我为什么要上传两个图像副本。
还有一件事,如果存在同名的图像,我希望图像被覆盖。我已将system->libraries 中的upload.php 文件更改为此
public $overwrite = TRUE;
但它不起作用。有人请帮忙。
【问题讨论】:
标签: php codeigniter-2 image-uploading