日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php利用ajax文件上传,如何在PHP中利用AjaxForm实现一个文件上传功能

發布時間:2023/12/10 php 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php利用ajax文件上传,如何在PHP中利用AjaxForm实现一个文件上传功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何在PHP中利用AjaxForm實現一個文件上傳功能

發布時間:2020-12-18 14:52:38

來源:億速云

閱讀:94

作者:Leah

如何在PHP中利用AjaxForm實現一個文件上傳功能?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

在使用ajaxForm方法之前,首先需要安裝form.js的插件,網上有;

一、首先說用法,ajaxForm可以接收0或1個參數,該參數可以是一個變量、一個對象或回調函數,這個對象主要有以下參數:var?object=?{

url:url,      //form提交數據的地址

type:type,   ?//form提交的方式(method:post/get)

target:target,  //服務器返回的響應數據顯示的元素(Id)號

beforeSerialize:function(){}?//序列化提交數據之前的回調函數

beforeSubmit:function(){},  //提交前執行的回調函數

success:function(){},    ??//提交成功后執行的回調函數

error:function(){},???????//提交失敗執行的函數

dataType:null,       //服務器返回數據類型

clearForm:true,      ?//提交成功后是否清空表單中的字段值

restForm:true,      ?//提交成功后是否重置表單中的字段值,即恢復到頁面加載時的狀態

timeout:6000?     ? ?//設置請求時間,超過該時間后,自動退出請求,單位(毫秒)。

}

ajaxForm?js的code

$(function(){

$("form").ajaxForm(object);

})

實例具體代碼code

htmlcodehtml?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

PHP+Ajax異步帶進度條上傳文件實例_php

文件上傳

文件上傳

這里只是一個ajax+php+ajaxForm上傳文件word文檔例子

選擇上傳文件名:

10%?Complete

$(function?()?{

$("#myupload").ajaxForm({

dataType:'json',

beforeSend:function(){

$(".progress").show();

},

uploadProgress:function(event,position,total,percentComplete){

var?percentVal?=?percentComplete?+?'%';

$(".progress-bar").width(percentComplete?+?'%');

$(".progress-bar").html(percentVal);

$(".sr-only").html(percentComplete?+?'%');

},

success:function(data){

$(".progress").hide();

if(data.error?==?"empty_name"){

alert("文件上傳非法,上傳失敗!");

exit();

};

if(data.error?==?"large"){

alert("圖片上傳不能大于2M,上傳失敗!");

exit();

};

if(data.error?==?"format"){

alert("圖片格式錯誤,上傳失敗");

exit();

};

//$(".files").html(""+data.name+"("+data.size+"k)?刪除");

$(".files").html("文件名:?"+data.name+"?del?大小:"+data.size);

var?img?=?"files/"+data.pic;

?????$(".showimg").html("");

alert("上傳成功!");

},

error:function(){

alert("上傳失敗");

}

});

$(".progress").hide();

});

php上傳上傳類upload.class.php文件<?php

date_default_timezone_set("PRC");?//設置時間區域

//上傳類

class?upload{

protected?$file_path?=?"files";?//當前files存儲文件夾

protected?$file_size?=?5120000;?//5M?用戶上傳

/**

*檢測文件是否為空

*/

public?function?check_file($get_file)

{

if?(empty($get_file))

{

$type?=?"check_file";

$arr?=?array('error'=>'empty_name','type'=>$type);

echo?json_encode($arr);

exit();

}

return?true;

}

/**

*檢測文件類型

*/

public?function?check_type($get_type)

{

if?((?$get_type?==?".docx"?)?||?(?$get_type?==?".doc"?))?{

//這里只是判斷上傳word文檔可以自己添加

}else{

$type?=?"check_type";

$arr?=?array('error'=>'format','type'=>$type);

echo?json_encode($arr);

exit();

}

return?true;

}

/**

*檢測文件大小

*/

public?function?check_size($get_file)

{

if?(?$get_file?!=?""?)?{

if?(?$get_file?>?$this->file_size?)?{

$arr?=?array('error'=>'large');

echo?json_encode($arr);

exit();

}

}else{

return?false;

exit();

}

return?true;

}

/**

*文件保存

*/

public?function?save_file($file_type,$file_tmp_name)

{

$rand?=?rand(1000,?9999);

$pics?=date('YmdHis')?.?$rand?.?$file_type;

$path?=?$this->file_path."/".$pics;

$result?=?move_uploaded_file($file_tmp_name,?$path);

if($result){

return?$pics;

}else{

return?false;

exit();

}

}

}

?>

ajax提交php處理文件upload.php<?php

include("upload.class.php");

$up_obj?=?new?upload();

//獲取上傳文件名

$get_fileName?=?$_FILES['mypic']['name'];

$get_fileSize?=?$_FILES['mypic']['size'];

$get_TmpFiles?=?$_FILES['mypic']['tmp_name'];

$get_fileType?=?strstr($get_fileName,?'.');

$check_result?=?$up_obj->check_file($get_fileName);

if($check_result){

$result_type?=?$up_obj->check_type($get_fileType);//檢查文件類型

if($result_type){

$result_size?=?$up_obj->check_size($get_fileSize);//檢查文件大小

if($result_size){

$pics?=?$up_obj->save_file($get_fileType,$get_TmpFiles);?//文件上傳保存

$size?=?round($get_fileSize/1024,2);

$arr?=?array(

'name'?=>?$get_fileName,

'pic'?=>?$pics,

'size'=>?$size,

'error'?=>?2,

'list'?=>$_POST['list']

);

if($pics){?//檢查文件上傳狀態

echo?json_encode($arr);

}

}

}

}

?>

關于如何在PHP中利用AjaxForm實現一個文件上傳功能問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

總結

以上是生活随笔為你收集整理的php利用ajax文件上传,如何在PHP中利用AjaxForm实现一个文件上传功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。