关于 CI框架 文件上传的 do_upload() 方法的参数怎么使用

$field 代表前端表单的name

<input type="file" name="userfile" />

https://img4.mukewang.com/5c8f67120001b21f08000602.jpg

上传类Upload.php中 382 行,正则匹配 $field 字段名称的一段代码

preg_match_all('/(?:^[^\[]+)|\[[^]]*\]/', $field, $matches)

这个 $field 要以什么形式传参会被正则正确匹配到?

慕姐8265434
浏览 681回答 1
1回答

萧十郎

数组形式可以匹配到,然后又分为下面两种情况,一种是多图上传这样: <input type="file" name="userfile[]" /> <input type="file" name="userfile[]" /> ... 但是这种通过for循环后会直接$_file = NULL;break;,也就是不支持这种的多图片上传。 另一种是很多时候为了方便取值,会统一用数组上传,写成这种形式,也能匹配到: <input type="text" name="Admin[name]" /> <input type="file" name="Admin[userfile]" /> ... 这种会通过for循环最终会取到这种$_file = $_FILES['Admin']['userfile']值,这是正常的值,也就是说支持这种形式的图片上传。
打开App,查看更多内容
随时随地看视频慕课网APP