为了账号安全,请及时绑定邮箱和手机立即绑定

php - 克隆输入字段后获取文件数据

php - 克隆输入字段后获取文件数据

PHP
守着星空守着你 2023-09-15 17:27:37
我有带有输入文件的表单,可以通过特定按钮进行克隆。当我选择某个文件,克隆输入字段,然后选择新文件(在新输入字段中)并提交时,我没有获取ajax文件中的所有第一个文件数据。这是主页中的 html:<a href="#" class="clone-ele-btn" data-target="clone_box" data-des="clone_des">Clone</a><form action="#" method="post" enctype="multipart/form-data">    <span id="clone_box">        <input type='file' name='file[]' />    </span>    <span id="clone_des"></span>        <a href="#" class="new-files-btn">Submit</a>    </form>查询:// CLONE FILE INPUT FIELD$(document).on("click", ".clone-ele-btn", function(e){    var target = $(this).data("target");    var des = $(this).data("des");        $( "#" + target ).clone().appendTo( "#" + des );    e.preventDefault(); });// UPLOAD FILES$(document).on("click", ".new-files-btn", function(e){    var form = $(this).closest('form')[0];     var formData = new FormData(form);            $.ajax ({        type: 'POST',        url: 'ajax/files-control.php',        data: formData,        dataType: 'json',        contentType: false,        cache: false,        processData:false        }).done(function(data)         {         ....        ...        ..文件控制.php:<?PHP   var_dump ($_FILES);?>网络调试:C:\wamp3\www\folder\ajax\files-control.php:13:array (size=1)  'file' =>     array (size=5)      'name' =>         array (size=2)          0 => string 'IMG_8913.JPG' (length=12)          1 => string 'I-dont-have.jpg' (length=36)      'type' =>         array (size=2)          0 => string '' (length=0)          1 => string 'image/jpeg' (length=10)      'tmp_name' =>         array (size=2)          0 => string '' (length=0)          1 => string 'C:\wamp3\tmp\php36B6.tmp' (length=24)      'error' =>         array (size=2)          0 => int 1          1 => int 0      'size' =>         array (size=2)          0 => int 0          1 => int 50906
查看完整描述

1 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

未经测试,但尝试创建新的输入字段而不是克隆旧的输入字段。

let el = document.createElement('input');
el.type = 'file';
el.name = 'file[]';
document.getElementById('clone_box').appendChild(el);

jQuery 方式

$("#clone_box").append('<input type="file" name="file[]">');

更新

造成问题的不是字段,而是文件本身。它太大并且超出了 php.ini上传限制。

UPLOAD_ERR_INI_SIZE
值:1;上传的文件超出了 php.ini 中的 upload_max_filesize 指令。

因此,您需要调整 php.ini 设置或在 .htaccess 文件中重载它。


查看完整回答
反对 回复 2023-09-15
  • 1 回答
  • 0 关注
  • 50 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信