為什么上傳了多個文件之后,print_r之后只有最后一個文件顯示出來。
<?php
//print_r($_FILES);
/**
?* 構件上傳文件信息
?* @return unknown|unknown[]
?*/
require_once '../lib/string.func.php';
function buildInfo()
{
? ? $i=0;
? ? $files=array();
? ? foreach ($_FILES as $v)
? ? {
? ? ? ? if(is_string($v['name']))//多文件
? ? ? ? {
? ? ? ? ? $files[$i]=$v;
? ? ? ? ? $i++;
? ? ? ? }else{
? ? ? ? ? ? foreach ($v['name'] as $key=>$val)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? $files[$i]['name']=$val;
? ? ? ? ? ? ? ? $files[$i]['size']=$v['size'][$key];
? ? ? ? ? ? ? ? $files[$i]['tmp_name']=$v['tmp_name'][$key];
? ? ? ? ? ? ? ? $files[$i]['error']=$v['error'][$key];
? ? ? ? ? ? ? ? $files[$i]['type']=$v['type'][$key];
? ? ? ? ? ? ? ? $i++;
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? return $files;
}
function uploadfile($path="uploads",$allowExt=array("gif","png","jpeg","jpg","wbmp"),$maxsize=2097152,$imageFlag=true)
{
? ?
? ? if(!file_exists($path))
? ? {
? ? ? ? mkdir($path,0777,true);
? ? }
? ? $files=buildInfo();
? ? foreach ($files as $file)
? ? {
? ? ? ? $i=0;
? ? ? ? $uploadFiles=array();
? ? ? ? if($file['error']==UPLOAD_ERR_OK)
? ? ? ? {
? ? ? ? ? ? $ext=getEXT($file['name']);
? ? ? ? ? ? if(!in_array($ext, $allowExt))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? exit("非法文件類型");
? ? ? ? ? ? }
? ? ? ? ? ? if($imageFlag)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? if(!getimagesize($file['tmp_name']))
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? exit("不是真正的圖片類型");
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? if($file['size']>$maxsize)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? exit("上傳文件過大");
? ? ? ? ? ? }
? ? ? ? ? ? if(!is_uploaded_file($file['tmp_name']))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? exit("不是通過POST方式上傳的");
? ? ? ? ? ? }
? ? ? ? ? ? $filename=getUniName().".".$ext;
? ? ? ? ? ? $destination=$path."/".$filename;
? ? ? ? ? ? if(move_uploaded_file($file['tmp_name'], $destination))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? $file['name']=$filename;
? ? ? ? ? ? ? ? unset($file['error'],$file['tmp_name'],$file['size'],$file['type']);
? ? ? ? ? ? ? ? $uploadFiles[$i]=$file;
? ? ? ? ? ? ? ? $i++;
? ? ? ? ? ? }
? ? ? ? ? ?
? ? ? ? }
? ? ? ? else
? ? ? ? {
? ? ? ? ? ? switch ($file['error'])
? ? ? ? ? ? {
? ? ? ? ? ? ? ? case 1://UPLOAD_ERR_INI_SIZE
? ? ? ? ? ? ? ? ? ? $mes="超過配置文件上傳文件大小";
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 2://UPLOAD_ERR_FORM_SIZE
? ? ? ? ? ? ? ? ? ? $mes="超過了表單設置上傳文件大小";
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 3://UPLOAD_ERR_PARTIAL
? ? ? ? ? ? ? ? ? ? $mes="文件部分被上傳";
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 4:
? ? ? ? ? ? ? ? ? ? $mes="沒有文件被上傳";
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 6:
? ? ? ? ? ? ? ? ? ? $mes="沒有找到臨時目錄";
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 7:
? ? ? ? ? ? ? ? ? ? $mes="文件不可寫";
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case 8:
? ? ? ? ? ? ? ? ? ? $mes="由于php擴展程序中斷了文件上傳";
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? return $uploadFiles;
}
$fileInfo=uploadfile();
print_r($fileInfo);
2018-09-10
?? $files=buildInfo();
? ? foreach ($files as $file)
? ? {
? ? ? ? $i=0;
$i要在foreach外初始化 ,
? ?$files=buildInfo();
? ? $i=0;? ??
? ?foreach ($files as $file)
? ? {
? ? ??