我一直在寻找并努力工作3天才能使这个工作,但我不能.我想要做的是使用多文件输入表单,然后上传它们.我不能只使用固定数量的文件上传.我在StackOverflow上尝试了很多解决方案,但我找不到工作的解决方案.
这是我的上传控制器
<?php
class Upload extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url','html'));
}
function index()
{
$this->load->view('pages/uploadform', array('error' => ' ' ));
}
function do_upload()
{
$config['upload_path'] = './Images/';
$config['allowed_types'] = 'gif|jpg|png';
$this->load->library('upload');
foreach($_FILES['userfile'] as $key => $value)
{
if( ! empty($key['name']))
{
$this->upload->initialize($config);
if ( ! $this->upload->do_upload($key))
{
$error['error'] = $this->upload->display_errors();
$this->load->view('pages/uploadform', $error);
}
else
{
$data[$key] = array('upload_data' => $this->upload->data());
$this->load->view('pages/uploadsuccess', $data[$key]);
}
}
}
}
}
?>
Run Code Online (Sandbox Code Playgroud)
我的上传表格是This.
<html>
<head>
<title>Upload Form</title>
</head>
<body>
<?php …Run Code Online (Sandbox Code Playgroud) 我想使用单个元素上传多个文件.所以我试试这个例子.
使用CodeIgniter 2.0上传多个文件(Array)
这是我的表格
<form enctype="multipart/form-data" class="jNice" accept-charset="utf-8" method="post" action="http://xxxx.dev/admin/add_estates">
<fieldset>
<label>Title * : </label>
<input type="text" class="text-long" value="" name="title">
<label>Description : </label>
<textarea class="mceEditor" rows="10" cols="40" name="description"></textarea>
<label>Image : </label>
<input type="file" multiple="" name="images[]">
<button class="button-submit" type="submit" name="save" id="">Save</button>
</fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)
这是我的控制器
public function add_estates()
{
$data['page_title'] = "© IDEAL - Administrator - Real State - Add Real Estate";
$data['main_content'] = 'admin/add_estates';
if ($this->input->post() !== FALSE) {
$this->load->library('form_validation');
$this->form_validation->set_rules('title', 'Career Title', 'trim|required');
if ($this->form_validation->run() !== FALSE) {
$title = …Run Code Online (Sandbox Code Playgroud) 我试图上传图像,但它总是给我"你没有选择要上传的文件."
我的控制器
function add()
{
$thedate=date('Y/n/j h:i:s');
$replace = array(":"," ","/");
$newname=str_ireplace($replace, "-", $thedate);
$config['upload_path'] = './upload/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['file_name']=$newname;
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
//$this->upload->initialize($config);
$this->load->library('form_validation');
$this->form_validation->set_rules('title','title','trim|required');
$this->form_validation->set_rules('description','Description','trim|required');
$image1=$this->input->post('image');
if ($this->form_validation->run()==FALSE){
$this->addview();
return false;
}
if (!$this->upload->do_upload($image1)) {
$error = array('error' => $this->upload->display_errors());
$this->load->view('upload_error', $error);
}
else {
$mage=$this->upload->do_upload($image1);
$data =array(
'title'=>$this->input->post('title'),
'descrip'=>$this->input->post('description'),
'image' => $mage['file_name']
);
$this->load->model('member_functions');
$q=$this->member_functions->insert($data);
}}
Run Code Online (Sandbox Code Playgroud)
设置了所有文件要求和文件权限,但我仍然得到了那个错误.有人可以告诉我,我做错了什么