我再次需要一些帮助
我正在使用codeigniter创建一个多文件上传功能,而我却坚持使用“多个”部分
以下代码适用于上传单个图像,它基本上将常规尺寸的图像上传到文件夹,并将同一图像的缩略图版本上传到另一个文件夹。
2个文件夹的2个图像,请参阅我的代码:
$config['upload_path'] = './cars/large_thumb/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '2000';
$config['file_name'] = $newfilename;
$this->load->library('upload', $config);
$this->upload->initialize($config);
$uploadimages = $this->upload->do_upload();
$image_data = $this->upload->data();
$configlarge = array(
'source_image' => $image_data['full_path'],
'new_image' => './cars/large_thumb',
'maintain_ratio' => true,
'quality' => 70,
'width' => 600,
'height' => 450
);
$this->load->library('image_lib', $configlarge);
$this->image_lib->initialize($configlarge);
$resizelarge = $this->image_lib->resize();
$configsmall = array(
'source_image' => $image_data['full_path'],
'new_image' => './cars/small_thumb',
'maintain_ratio' => true,
'width' => 100,
'height' => 75
);
$this->load->library('image_lib', $configsmall);
$this->image_lib->initialize($configsmall);
$resizesmall = $this->image_lib->resize();
我需要帮助的是应该在上传图像时多次运行此代码的循环 我尝试使用类似的东西进行“foreach”循环:
foreach ($_FILES["userfile"]["error"] as $key => $error) {
code above here...
}
它给了我这个错误:消息:数组到字符串转换
我也尝试了一个“for”循环,我在其中遍历代码并且它有点工作,但它上传最后一个图像的次数与上传图像一样多。
希望有人可以与我分享一些知识。
由于
答案 0 :(得分:1)
我还尝试了一个“for”循环,在其中迭代代码并且它有点工作,但它上传最后一个图像的次数与上传图像一样多。
看起来您试图使用for循环解决问题,因为您对HTML表单的命名约定不正确,因此该循环只会被破坏。
尝试以下内容:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="car_1" value="" />
<input type="file" name="car_2" value="" />
<input type="file" name="car_3" value="" />
</form>
然后在您的代码中,您可以更改
$uploadimages = $this->upload->do_upload();
到
$uploadimages = $this->upload->do_upload('car_1');
你应该能够把它封装在一个循环中,通过你正在使用的for循环来浏览你想要上传的每个图像