Php 从动态表单上载Codeignitor多输入文件
我有一个使用Jquery的动态表单(拖放表单),它有多个输入类型=file。因此,输入类型的名称使用随机数更改。以下是源代码视图中的示例代码:Php 从动态表单上载Codeignitor多输入文件,php,codeigniter,codeigniter-upload,Php,Codeigniter,Codeigniter Upload,我有一个使用Jquery的动态表单(拖放表单),它有多个输入类型=file。因此,输入类型的名称使用随机数更改。以下是源代码视图中的示例代码: <?php echo $error;?> <?php echo form_open_multipart('upload/do_upload');?> <form action="" enctype="multipart/form-data" method="post" accept-charset="utf-8">
<?php echo $error;?>
<?php echo form_open_multipart('upload/do_upload');?>
<form action="" enctype="multipart/form-data" method="post" accept-charset="utf-8">
<div id="sjfb-fields">
<div class="my-3 p-3 bg-white rounded box-shadow">
<div id="sjfb-399480" class="sjfb-field sjfb-images" style="min-height:100px;">
<label for="images-399480" style="color:grey;font-size:12px">Upload the screenshot</label>
<input type="file" name="img-399480" id="images-399480">
</div>
</div>
<div class="my-3 p-3 bg-white rounded box-shadow">
<div id="sjfb-857945" class="sjfb-field sjfb-images" style="min-height:100px;">
<label for="images-857945" style="color:grey;font-size:12px">Test Images</label>
<input type="file" name="img-857945" id="images-857945">
</div>
</div>
<div class="my-3 p-3 bg-white rounded box-shadow">
<div id="sjfb-792565" class="sjfb-field sjfb-images" style="min-height:100px;">
<label for="images-792565" style="color:grey;font-size:12px">More Images</label>
<input type="file" name="img-792565" id="images-792565">
</div>
</div>
</div>
<button type="submit" name="save" class="btn btn-primary">Save</button>
</form>
我用一个输入type=“file”尝试了上传,它可以正常工作(使用图像的名称userfile)。
此表单有多个输入类型=文件,我想知道是否有任何方法可以单独上载文件?
我对codeigniter也是新手
谢谢 看看这个:
控制器部分:
$files = $_FILES; //getting the files from post
$cpt = count($_FILES['photo']['name']); //number of files uploaded
for($i=0;$i<$cpt;$i++){ // in loop to upload multiple files
$file_name=$_FILES['photo']['name'][$i];
if($i==0){ //name the file according to the number /name as u like
echo $i;
$name='_first';
}elseif($i==2){
$name='_second';
}else{
$name='_third';
}
并以html格式上传照片:输入名称更改为photo[]
<?php echo $error;?>
<?php echo form_open_multipart('upload/do_upload');?>
<form action="" enctype="multipart/form-data" method="post" accept-charset="utf-8">
<div id="sjfb-fields">
<div class="my-3 p-3 bg-white rounded box-shadow">
<div id="sjfb-399480" class="sjfb-field sjfb-images" style="min-height:100px;">
<label for="images-399480" style="color:grey;font-size:12px">Upload the screenshot</label>
<input type="file" name="photo[]" id="images-399480">
</div>
</div>
<div class="my-3 p-3 bg-white rounded box-shadow">
<div id="sjfb-857945" class="sjfb-field sjfb-images" style="min-height:100px;">
<label for="images-857945" style="color:grey;font-size:12px">Test Images</label>
<input type="file" name="photo[]" id="images-857945">
</div>
</div>
<div class="my-3 p-3 bg-white rounded box-shadow">
<div id="sjfb-792565" class="sjfb-field sjfb-images" style="min-height:100px;">
<label for="images-792565" style="color:grey;font-size:12px">More Images</label>
<input type="file" name="photo[]" id="images-792565">
</div>
</div>
</div>
<button type="submit" name="save" class="btn btn-primary">Save</button>
</form>
上传截图
测试图像
更多图片
拯救
在我的本地工作
有关配置选项,请参阅此链接。有关多文件上载,请参阅此链接。有关注释,请参阅hanks。从单输入多次上载type=“file”可以使用userfile[]作为名称。但是我需要使用单独的输入type=“file”进行多次上传,谢谢。如果用户没有添加第一个图像并添加第二个和第三个图像,该怎么办。I获取偏移错误U可以检查($_FILES['photo']['name'][$I]==null)并转义它不会给出错误的部分
$_FILES['photo']['name']= $files['photo']['name'][$i];
$_FILES['photo']['type']= $files['photo']['type'][$i];
$_FILES['photo']['tmp_name']= $files['photo']['tmp_name'][$i];
$_FILES['photo']['error']= $files['photo']['error'][$i];
$_FILES['photo']['size']= $files['photo']['size'][$i];
$config = array(
'file_name' => $name,
'allowed_types' => 'jpg', //add option as u like
'max_size' => 3000,
'overwrite' => TRUE,
'upload_path'=>'./uploads/' //use your respective path to upload
);
$this->upload->initialize($config);
if (!$this->upload->do_upload('photo')) {
$data_error = array('msg' => $this->upload->display_errors());
} else {
$data = $this->upload->data();
}
}
<?php echo $error;?>
<?php echo form_open_multipart('upload/do_upload');?>
<form action="" enctype="multipart/form-data" method="post" accept-charset="utf-8">
<div id="sjfb-fields">
<div class="my-3 p-3 bg-white rounded box-shadow">
<div id="sjfb-399480" class="sjfb-field sjfb-images" style="min-height:100px;">
<label for="images-399480" style="color:grey;font-size:12px">Upload the screenshot</label>
<input type="file" name="photo[]" id="images-399480">
</div>
</div>
<div class="my-3 p-3 bg-white rounded box-shadow">
<div id="sjfb-857945" class="sjfb-field sjfb-images" style="min-height:100px;">
<label for="images-857945" style="color:grey;font-size:12px">Test Images</label>
<input type="file" name="photo[]" id="images-857945">
</div>
</div>
<div class="my-3 p-3 bg-white rounded box-shadow">
<div id="sjfb-792565" class="sjfb-field sjfb-images" style="min-height:100px;">
<label for="images-792565" style="color:grey;font-size:12px">More Images</label>
<input type="file" name="photo[]" id="images-792565">
</div>
</div>
</div>
<button type="submit" name="save" class="btn btn-primary">Save</button>
</form>