JQuery AJAX + PHP 上传多个附件到服务器
1. 创建一个表单,添加两个附件框
<form id="newtopic" >
    <input type="file" name="att1" > 
<br />
<input type="file" name="att2" >
<br />
<button id="submitBtn" >Submit 提交</button>
<br />
<input type="file" name="att2" >
<br />
<button id="submitBtn" >Submit 提交</button>
</form>
2. 为按钮创建AJAX单击事件,执行后表单中的附件会上传到服务器的全局变量$_FILES中
 $('#submitBtn').click(function(){
      //获取表单数据
var formdata=new FormData($("#newtopic")[0]);
$.ajax({
//请求方式
type:'POST',
url:"{:url('topic/issuerUploadFile')}",
var formdata=new FormData($("#newtopic")[0]);
$.ajax({
//请求方式
type:'POST',
url:"{:url('topic/issuerUploadFile')}",
          data:formdata,
//接收服务器返回的数据类型
dataType:"text",
//接收服务器返回的数据类型
dataType:"text",
          //禁止ajax设置编码方式
processData: false,
processData: false,
          //禁止ajax将数据类型转换为字符串
contentType: false,
success:function(response,status,xhr){
alert(response);
},
error:function(xhr,errorStatus,errorType){
alert(xhr.status+": "+ errorType);
}
});
contentType: false,
success:function(response,status,xhr){
alert(response);
},
error:function(xhr,errorStatus,errorType){
alert(xhr.status+": "+ errorType);
}
});
3. 在控制器Topic.php文件中添加方法
public function issuerUploadFile()
{
//print_r($_FILES);
$info="no_file_uploaded";
$myDir='topic_issuer'. DS . 'TPC2020-000003';
$filePath=ROOT_PATH . 'public' . DS . 'uploads';
$filePath = $filePath . DS . $myDir ;
      
//检查路径是否存在,如果不存在则创建文件夹
if(!is_dir($filePath))
{
//创建文件夹
$res=mkdir(iconv("UTF-8", "GBK", $filePath));
if (!$res)
{
$info = "目录创建失败 Create directory failed";
goto exit_line;
}
}
{
//print_r($_FILES);
$info="no_file_uploaded";
$myDir='topic_issuer'. DS . 'TPC2020-000003';
$filePath=ROOT_PATH . 'public' . DS . 'uploads';
$filePath = $filePath . DS . $myDir ;
//检查路径是否存在,如果不存在则创建文件夹
if(!is_dir($filePath))
{
//创建文件夹
$res=mkdir(iconv("UTF-8", "GBK", $filePath));
if (!$res)
{
$info = "目录创建失败 Create directory failed";
goto exit_line;
}
}
        $i =0; //用于记录上传的附件数
//通过foreach循环查看上传的附件信息
foreach ($_FILES as $fileInfo)
{
//无错误时上传文件
// if ($fileInfo["error"]>0)
// // {
// // $info="error:" . $fileInfo["error"];
// // }
// // else
//通过foreach循环查看上传的附件信息
foreach ($_FILES as $fileInfo)
{
//无错误时上传文件
// if ($fileInfo["error"]>0)
// // {
// // $info="error:" . $fileInfo["error"];
// // }
// // else
          if ($fileInfo["error"]==0)
{
$fileName=$fileInfo["name"];
$filePathName=$filePath . DS . $fileName;
{
$fileName=$fileInfo["name"];
$filePathName=$filePath . DS . $fileName;
             move_uploaded_file($fileInfo["tmp_name"], $filePath . DS . $fileInfo["name"]);
$i++;
$info +=$i . " uploaded:" . $fileName . "<br />";
}
}
      
exit_line:
$i++;
$info +=$i . " uploaded:" . $fileName . "<br />";
}
}
exit_line:
        return $info;
    }
                    
                
                
            
        
浙公网安备 33010602011771号