Php 偶尔上传文件的已发布表单没有文件

Php 偶尔上传文件的已发布表单没有文件,php,html,forms,post,file-upload,Php,Html,Forms,Post,File Upload,我在PHP中看到一些失败,无法找到提交表单中附加的文件。它在80%的时间内工作,然后在没有附加文件或只有一两个文件的情况下进行分割 该用例用于车辆检查,车辆已拍摄照片,然后提交存档。代码的示例(需要6张照片,1张是额外的)是: <form name="fForm" action="fleet-check-out-update.php" onsubmit="return validateForm();" method="post" id="fleet" enctype="multipart/

我在PHP中看到一些失败,无法找到提交表单中附加的文件。它在80%的时间内工作,然后在没有附加文件或只有一两个文件的情况下进行分割

该用例用于车辆检查,车辆已拍摄照片,然后提交存档。代码的示例(需要6张照片,1张是额外的)是:

<form name="fForm" action="fleet-check-out-update.php" onsubmit="return validateForm();" method="post" id="fleet" enctype="multipart/form-data">
.....
<tr>
<th>Driver Side - Bumper to Bumper:</th>
<td><input type="hidden" name="MAX_FILE_SIZE" value="16000000">
<input type="file" name="attachment5" id ="attachment5" class="file_1" style="width:375px;"/></td>

</tr>
<tr>
<th>Interior/Cab - Clean interior:</th>
<td><input type="hidden" name="MAX_FILE_SIZE" value="16000000">
<input type="file" name="attachment6" id ="attachment6" class="file_1" style="width:375px;"/></td>
</tr>
带有PHP通知:未定义索引:attachment5通知

然后,文件将通过以下方式上载到S3:

 if ($s3->putObjectFile($tmp, $bucket . "/fleet/$nowstamp2/$number", $name, S3::ACL_PUBLIC_READ))
但是,由于$name处没有文件数据,因此此操作将失败

如果失败,所有非文件post数据(文本)仍会返回

最初,PHP中的文件大小限制会导致失败,但增加数据可以修复这一问题。设备是安卓或iOS手机-这意味着每个图片都是4MB+直接从手机。我不认为有任何方法可以在不影响可用性的情况下轻易地从网页上强制生成较小尺寸的图片,但如果有,我会对此感兴趣

我想消除这个bug,但我不确定这是因为服务器上的HTML/PHP,还是因为内存/连接质量/其他原因最终用户的手机超时/失败


我遗漏了什么?

共享您的文件上载代码不在评论中从此处删除它并通过编辑问题将其粘贴到您的问题摘要中。除了文件大小限制之外,您是否设置了
post\u max\u size
?这通常会导致如果所有文件的完整大小超过该限制,则不会附加任何文件。是的,post_max_size和upload_max_filesize设置为48M,max_file_uploads设置为20,默认_socket_超时为60秒,max_execution_time设置为600秒,max_input_vars设置为10000,内存限制为128M。增加大小限制可阻止因大小调整而导致的任何错误或故障-在7个图片(每个5 MB)时,它们不会突破48米
 if ($s3->putObjectFile($tmp, $bucket . "/fleet/$nowstamp2/$number", $name, S3::ACL_PUBLIC_READ))