在Codeigniter上上载多个图像



我愿意在CodeIgniter上上传多张图片,我只知道上传一张图片。这是我的型号代码:

private function _uploadImage()
{
$config['upload_path']          = './upload/product/';
$config['allowed_types']        = 'gif|jpg|png';
$config['file_name']            = $this->product_id;
$config['overwrite']            = true;
$config['max_size']             = 1024; // 1MB
$this->load->library('upload', $config);
if ($this->upload->do_upload('image')) {
return $this->upload->data("file_name");
}

return "default.jpg";
}

你能告诉我怎么做吗?

试试这个:视图:

<input type='file' name='files[]' multiple=""> <br/><br/>
<input type='submit' value='Upload' name='upload' />

控制器:

public function uploadImage() { 

$data = [];

$count = count($_FILES['files']['name']);

for($i=0;$i<$count;$i++){

if(!empty($_FILES['files']['name'][$i])){

$_FILES['file']['name'] = $_FILES['files']['name'][$i];
$_FILES['file']['type'] = $_FILES['files']['type'][$i];
$_FILES['file']['tmp_name'] = $_FILES['files']['tmp_name'][$i];
$_FILES['file']['error'] = $_FILES['files']['error'][$i];
$_FILES['file']['size'] = $_FILES['files']['size'][$i];

$config['upload_path'] = 'uploads/'; 
$config['allowed_types'] = 'jpg|jpeg|png|gif';
$config['max_size'] = '5000';
$config['file_name'] = $_FILES['files']['name'][$i];

$this->load->library('upload',$config); 

if($this->upload->do_upload('file')){
$uploadData = $this->upload->data();
$filename = $uploadData['file_name'];

$data['totalFiles'][] = $filename;
}
}

}

$this->load->view('imageUploadForm', $data); 
}

试试这个:

在视图上-

<input type="file" class="custom-file-input" id="file" name="file[]" multiple>

<label class="custom-file-label" for="customFile">Choose file</label>
</div>

在控制器上:

if ($multiplefile = $this->request->getFiles()) {
foreach($multiplefile['file'] as $file)
{   
if ($file->isValid() && ! $file->hasMoved()) 
{
$newName = $file->getRandomName();
$file->move(WRITEPATH.'uploads', $newName);
$data = [
'report_id' =>  $report_id,
'document_name' => $newName,
'document_type'  => $file->getClientMimeType()
];
$save = $builder->insert($data);
$msg = 'Files has been uploaded';
}
echo 'no';
}
echo 'no';

如果出现错误,则在文件名上应用正则表达式以删除空白

最新更新