【发布时间】:2018-08-06 03:51:28
【问题描述】:
我正在使用 PHP 上传多张图片。在进行预览时,我也提供了删除图像的按钮。
我的代码如下:
HTML
<div class="col-md-12 margin-bottom10">
<input type="file" accept="image/*" name="file_name[]" id="file_name" onchange="preview_image()" class="inputfile" multiple />
<?php echo '<div class="margin-bottom10">'.form_error('file_name').'</div>'; ?>
<label class="btn btn-danger" for="file_name"><i class="fa fa-upload"></i> Choose image to upload</label>
<button type="submit" name="submit" class="btn btn-primary">Create</button>
</div>
<div class="col-md-12 margin-bottom10">
<div class="row" id="image_preview">
</div>
</div>
JAVASCRIPT
var newFileList = null;
function preview_image(){
var total_file=document.getElementById("file_name").files.length;
newFileList = Array.from(event.target.files);
for(var i=0;i<total_file;i++){
$('#image_preview').append("<div class='col-md-2 margin-top10 appendedImg'><img style='width: 100%; height: 130px; object-fit: cover;' src='"+URL.createObjectURL(event.target.files[i])+"'><button class='btn btn-block btn-danger margin-top5 btnRemove' value='"+i+"'>Remove</button></div>");
}
}
$(document).on('click', '.btnRemove', function(){
$(this).closest('.appendedImg').remove();
var id = $(this).val();
newFileList.splice(id,1);
});
正如您从我的代码中看到的那样,我已经成功地完成了从列表中删除特定文件的操作,方法是先保存到数组,然后仅使用 splice() 删除。
所以,我的问题是,是否可以将 php $_FILES 数组值与 newFileList 数组值一起分配?因为,删除只在 javascript 端起作用,所以它不会影响来自 php 数组的文件输入的列表。
【问题讨论】:
标签: javascript php arrays file