一次选择五张图片,后台只收到一张,其余文件被忽略。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

name='files[]'
foreach ($_FILES['files']['tmp_name'] as $i => $tmp) { save($tmp); }

表单字段名没有加数组标记,服务端按单文件解析只取第一个。这一点先确认清楚,后面就不用反复试。

「多文件上传」这类改动最怕改一半,回滚脚本先准备好,再动生产。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。

改完隔一天再看一次,当场正常不代表能稳住。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。

线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。

权限不要一口气开到最大,先加到够用再往上试,范围小才好收。

具体做法是,字段名使用数组形式;服务端按数组遍历处理;逐个返回结果与错误。

改完照着核一遍,五张图片全部保存,返回结果与选择数量一致。

作者 9823189