最近我需要在一个表单中使用多个输入类型文件。但是当我发布表单时,它返回null。就像我在$ _POST上什么都没有。我还添加了enctype =" multipart / form-data"。我最近两天都在堆积。谷歌搜索了很多次。但仍然没有得到任何解决方案。请帮我解决这个问题。
<form enctype="multipart/form-data" action="/admin/process_post/savepost" method="POST">
<div class="uk-grid uk-grid-small" data-uk-grid-margin="">
<div class="uk-width-medium-7-10">
<div class="md-card">
<div class="md-card-content">
<h3 class="heading_a uk-margin-medium-bottom">Add New Canvas</h3>
<div class="uk-grid" data-uk-grid-margin>
<div class="uk-width-medium-1-1">
<div class="uk-form-row">
<label>Post Title</label>
<input type="text" name="post_title" id="post_title" class="md-input" />
</div>
<div class="uk-form-row">
<label>Post Description</label>
<textarea id="post_desc" name="post_desc" cols="30" rows="20"></textarea>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="uk-width-medium-3-10">
<div class="md-card">
<div class="md-card-content">
<div class="uk-form-row">
<p>
<input type="checkbox" name="post_status" id="post_status" checked data-md-icheck />
<label for="post_status" class="inline-label">Post Status</label>
</p>
</div>
</div>
</div>
<div class="md-card">
<div class="md-card-content">
<div class="uk-form-row">
<label for="post_attachment" class="inline-label">Post Featured Image</label>
<input type="file" id="post_attachment" name="post_attachment">
</div>
</div>
</div>
<div class="md-card">
<div class="md-card-content">
<div class="uk-form-row">
<label for="result_img" class="inline-label">Post result Image</label>
<input type="file" id="result_img" name="result_img" multiple="multiple">
</div>
</div>
</div>
<div class="md-card">
<div class="md-card-content">
<div class="uk-form-row">
<button type="submit" class="uk-form-file md-btn md-btn-primary">Save Post</button>
</div>
</div>
</div>
</div>
</div>
</form>
我知道当开发人员遇到这样的问题时,这是一个愚蠢的情况。
答案 0 :(得分:1)
文件可以通过$_FILES
在使用相同名称进行多次上传时,请将其命名为在名称末尾添加[]
的数组:( name="images[]" )
如果上传继续显示为空,并且您在评论中说,如果一个文件正确,请尝试将php.ini post_max_size
和upload_max_filesize
更改为更大的数量。另请检查max_file_uploads
- 每个请求允许上传的文件数。
答案 1 :(得分:0)
您需要将文件输入名称更改为数组
b''
还可以尝试添加<input type="file" id="result_img" name="result_img[]">
multiple
要检查文件,您必须使用<input type="file" id="result_img" name="result_img[]" multiple>
代替$_FILES
答案 2 :(得分:0)
您的问题应该是您的表单操作,尝试在其末尾添加“/”并查看其是否有效:
var string = /"[^"]+(?:\\"[^"]+)+"/.source,
float = /\d+\.\d+/.source;
var string_and_int = new RegExp(float + "|(?:" + int + ")?" + string + "|" + string + float, "g");