身份证图片:<input type="file" name="idcard"/>
头像:<input type="file" name="photo"/>点击提交,结果,第一个图片可以正常上传,但是第二个就显示非法文件上传.然后我改用以下的方法:身份证图片:<input type="file" name="p[]"/>
头像:<input type="file" name="p[]"/>两张图片能上传成功,但是出现了一个问题,上传之后返回的信息,无法判断到哪一张是属于身份证图片还是头像,这样就无法达到我想要的效果.我已经百度过了,都没有具体的解决办法.所以惟有自己动手吧.最后我想到一个办法,把模板上的name值,设定一个键值(建议用数字),只要这个键值和上传之后返回的数组的键值能一一对应,那么我就知道哪个图片是身份证图片还是头像图片.
所以只能在UploadFile.class.php里面直接修改代码
1.大约在243行那里,
把
$fileInfo[] = $file;改成$fileInfo[$file['key']] = $file;2.大约在347行那里,把
$count = count($file['name']);
for ($i=0; $i<$count; $i++) {
foreach ($keys as $key)
$fileArray[$n][$key] = $file[$key][$i];
$n++;
}都注释掉,然后在下面加上: foreach($file['name'] as $k=>$v){
foreach ($keys as $key){
$fileArray[$k][$key] = $file[$key][$k];
}
}最后模板上改为:身份证图片:<input type="file" name="p[1]"/>
头像:<input type="file" name="p[2]"/>这样只要实例化一次,上传成功之后返回的数组的键值,就会跟上面模板的键值(1,2)一一对应我附上修改后的文件吧.
UploadFile.class.zip
( 4.67 KB 下载:68 次 )
最佳答案