[英]Codeigniter Image upload issue
I'm using codeigniter upload library to upload multiple images.我正在使用 codeigniter 上传库来上传多张图片。 Mostly it is working fine, but in some cases the image is not uploading.
大多数情况下它工作正常,但在某些情况下图像没有上传。
Function:功能:
function do_upload_img()
{
if(isset($_FILES['portfolioimg']['size']) != 0){
$name_array = array();
$files = $_FILES;
$cpt = count($_FILES['portfolioimg']['name']);
// $config['source_image'] = ''; //get original image
$config['wm_type'] = 'overlay';
$config['wm_overlay_path'] = './assets/img/watermark.png';
$config['quality'] = 50;
$config['wm_vrt_alignment'] = 'middle';
$config['wm_hor_alignment'] = 'center';
$this->load->library('image_lib', $config);
for($i=0; $i<=$cpt-1; $i++)
{
$_FILES['userfile']['name']= $files['portfolioimg']['name'][$i];
$_FILES['userfile']['type']= $files['portfolioimg']['type'][$i];
$_FILES['userfile']['tmp_name']= $files['portfolioimg']['tmp_name'][$i];
$_FILES['userfile']['error']= $files['portfolioimg']['error'][$i];
$_FILES['userfile']['size']= $files['portfolioimg']['size'][$i];
$imgnam = rand(10,1000000).time();
$ext = pathinfo($files['portfolioimg']['name'][$i], PATHINFO_EXTENSION);
if($this->upload->initialize($this->set_upload_options($imgnam))){
$data = $this->upload->do_upload();
$config['source_image'] = './assets/portfolio_img/' . 'Rookie_'.$imgnam.'.'.$ext;
$this->image_lib->initialize($config);
$this->image_lib->watermark();
$name_array[] = $this->upload->data('file_name');
$this->create_thumbnail('./assets/portfolio_img/',$imgnam,$ext);
}else{
$this->session->set_flashdata('falsemsg','Only jpg, jpeg, png files are allowed to be uploaded.');
}
}
return $name_array;
}else{
return false;
}
}
private function set_upload_options($imgnam)
{
//upload an image options
$config = array();
$config['upload_path'] = './assets/portfolio_img/';
$config['allowed_types'] = 'jpeg|jpg|png|JPEG|JPG|PNG';
$config['max_size'] = '0';
$config['overwrite'] = true;
$config['file_name'] = 'Rookie_'.$imgnam;
return $config;
}
This is the function that Im using to upload the images.这是我用来上传图片的功能。 I don't have any idea why it is not working sometimes.
我不知道为什么它有时不起作用。 So please help me to figure out the error in my code.
所以请帮助我找出我的代码中的错误。 Thanks in advance.
提前致谢。
$b='portfolioimg';
$fileName = $_FILES[$b]['name'];
$images = $fileName;
$cpt = count($files);
for($i=1; $i<=$cpt; $i++)
{
$_FILES[$b]['name']= $files[$b]['name'][$i];
$_FILES[$b]['type']= $files[$b]['type'][$i];
$_FILES[$b]['tmp_name']= $files[$b]['tmp_name'][$i];
$_FILES[$b]['error']= $files[$b]['error'][$i];
$_FILES[$b]['size']= $files[$b]['size'][$i];
$uploadPath = './assets/portfolio_img/';
$config['upload_path'] = $uploadPath;
$config['allowed_types'] = 'gif|jpg|png|ico';
$this->load->library('upload', $config);
$this->upload->initialize($config);
if($this->upload->do_upload($b.$i)){
$fileData = $this->upload->data();
$uploadData[$i]['file_name'] = $fileData['file_name'];
$im[$i]=$uploadData[$i]['file_name'];
}
}
$tblValues = array(
'image'=>$images, // change field name,
);
$this->db->insert('table_name', $tblValues);
Controller:控制器:
if(isset($_POST['submit']))
{
$config['upload_path']="./uploads/";
$config['allowed_types']='jpg|jpeg|gif|png';
$this->load->library('upload',$config);
if($this->upload->do_upload())
{
echo "file upload success";
}
else
{
echo "file upload failed";
}
}
View:看法:
<form action="<?php echo base_url();?>controller/function" method="POST" enctype="multipart/form-data" >
Select File To Upload:<br />
<input type="file" name="userfile" />
<br /><br />
<input type="submit" name="submit" value="Upload" class="btn btn-success" />
</form>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.