时间:2021-05-26
多文件上传的两种情况
①使用多个name值
a.点击提交之后接收到的数据格式
Array([file1] => Array([name] => 8.png[type] => image/png[tmp_name] => G:\wamp\tmp\php737.tmp[error] => 0[size] => 200)[file2] => Array([name] => 28.png[type] => image/png[tmp_name] => G:\wamp\tmp\php738.tmp[error] => 0[size] => 6244)[file3] => Array([name] => 54a296f8n6787b34c.png[type] => image/png[tmp_name] => G:\wamp\tmp\php739.tmp[error] => 0[size] => 3143)[file4] => Array([name] => 54c0573dncb4db6f7.jpg[type] => image/jpeg[tmp_name] => G:\wamp\tmp\php788.tmp[error] => 0[size] => 5404))从这种格式可以看出来,每一个文件对应一个数组单元
所以使用foreach遍历数组,并对每个数组单元进行文件上传函数调用
b.点击提交后的操作
①接收上传的文件信息
$file = $_FILES;
②引入上传函数
include('./functions.php');③设置文件保存路径
$path = './uploads/'; // 此目录需要手动创建④调用文件上传函数
foreach($file as $v){$info = uploadFile($v,$path);⑤判断上传状态if($info['isok']){echo '上传成功'.$info['message'];} else {echo '上传失败'.$info['message'];}}---------------------------------------------------------------
②使用单个name值
a.第一种写法
<input type='file' name="file[]"><input type='file' name="file[]"><input type='file' name="file[]">b.第二种写法
<input type="file" name="file[]" multiple>c.点击提交之后,接收到的数据格式
Array([userpic] => Array([name] => Array([0] => 8.png[1] => 9b2d7581fba543ec9bcf95e91018915a.gif[2] => 12.jpg)[type] => Array([0] => image/png[1] => image/gif[2] => image/jpeg)[tmp_name] => Array([0] => G:\wamp\tmp\php85E5.tmp[1] => G:\wamp\tmp\php85E6.tmp[2] => G:\wamp\tmp\php8635.tmp)[error] => Array([0] => 0[1] => 0[2] => 0)[size] => Array([0] => 200[1] => 16503[2] => 19443)))从这种格式可以看出来,是将上传的文件信息分开保存到每个下标中。
所以要做的事情就是拼接出来一个完整的文件信息,一个一维数组
所以要进行的操作,是遍历$_FILES['file'] 然后从中取出每条上传文件的信息
d.点击提交后的操作
①接收上传的文件信息
$file = $_FILES['file'];
②引入上传函数
include('./functions.php');
③设置文件保存路径
$path = './uploads/'; // 此目录需要手动创建
④调用文件上传函数
foreach($file['name'] as $key=>$value){$data['name'] = $file['name'][$key];$data['type'] = $file['type'][$key];$data['tmp_name'] = $file['tmp_name'][$key];$data['error'] = $file['error'][$key];$data['size'] = $file['size'][$key];$info = uploadFile($data,$path);⑤判断上传状态
if($info['isok']){echo '上传成功'.$info['message'];} else {echo '上传失败'.$info['message'];}}a.遍历$file['name'] 只是为了获取$key
b.每遍历一次,取出相对应下标的文件信息,赋值给一个新数组中对应的键
如第一次 $key = 0;
$data['name'] = $file['name'][0]; // 相当于取出了第一个文件的名字$data['type'] = $file['type'][0]; // 相当于取出了第一个文件的类型...
第一次遍历完成之后
$data = array([name] => 54c0573dncb4db6f7.jpg[type] => image/jpeg[tmp_name] => G:\wamp\tmp\php788.tmp[error] => 0[size] => 5404);这样就取出了第一个文件的所有信息
然后调用上传函数,进行文件上传处理
第二次遍历时$key=1,相当于获取第二个上传文件的信息
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
如何实现jQuery的Ajax文件上传,PHP如实文件上传.AJAX上传文件,PHP上传文件。【PHP文件上传】在开始之前,我觉得是有必要把通WEB上传文件的原
本文实例讲述了PHP实现多文件上传的方法。分享给大家供大家参考。具体实现方法如下:'文件上传失败,没有错误发生,文件上传成功',1=>'文件上传失败,上传的文件
php文件上传、下载和删除示例大体思路如下,具体内容如下一.文件上传1.把上传文件的区域做出来div12.把显示文件的区域做出来div23.提交表单,上传文件4
图片上传思路:通过ajax实现图片上传,然后把PHP返回的图片地址,加入到隐藏字段中,最后通过表单提交给后台PHP,代码如下HTML代码zimg.html文件:
图片上传思路:通过ajax实现图片上传,然后把PHP返回的图片地址,加入到隐藏字段中,最后通过表单提交给后台PHP,代码如下HTML代码zimg.html文件: