色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

jquery上傳php

洪振霞1年前6瀏覽0評論

jQuery是一種JavaScript庫,與JSP、ASP和PHP等服務(wù)器端腳本語言結(jié)合使用時(shí)非常實(shí)用。通過將PHP與jQuery相結(jié)合,可以輕松地實(shí)現(xiàn)文件上傳操作。本文將介紹如何使用jQuery上傳PHP文件并顯示進(jìn)度條。

首先,需要使用HTML表單來實(shí)現(xiàn)文件上傳功能:

<form method="post" enctype="multipart/form-data" id="upload-form">
<input type="file" name="file" id="file">
<input type="button" value="上傳" id="upload-btn">
</form>

上述代碼中,需要使用enctype屬性將表單的Content-Type設(shè)置為multipart/form-data,確保可以上傳文件。此外,還需要添加一個(gè)按鈕來觸發(fā)上傳操作。

接下來,在JavaScript中使用jQuery來實(shí)現(xiàn)文件上傳操作:

<script>
$(function() {
$('#upload-btn').click(function() {
var file_data = $('#file').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
$('#progress-bar').css('width', '0%');
$.ajax({
url: 'upload.php',
type: 'POST',
data: form_data,
contentType: false,
processData: false,
xhr: function() {
var xhr = $.ajaxSettings.xhr();
xhr.upload.onprogress = function(e) {
if (e.lengthComputable) {
var percent = Math.floor((e.loaded / e.total) * 100);
$('#progress-bar').css('width', percent + '%');
}
};
return xhr;
},
success: function(data) {
alert(data);
}
});
});
});
</script>

上述代碼中,使用了jQuery的ajax()方法來實(shí)現(xiàn)文件上傳。在上傳之前,需要將文件數(shù)據(jù)以FormData的形式作為POST請求的數(shù)據(jù)發(fā)送。同時(shí),需要設(shè)置contentType和processData為false,以確保不對數(shù)據(jù)進(jìn)行序列化處理。

此外,在xhr屬性中,需要對文件上傳進(jìn)度進(jìn)行處理。通過監(jiān)聽upload事件并計(jì)算文件上傳的百分比,可以實(shí)現(xiàn)進(jìn)度條的動(dòng)態(tài)顯示。

最后,在PHP文件中接收并處理上傳的文件:

<?php
if ($_FILES['file']['error'] >0) {
die('上傳出現(xiàn)錯(cuò)誤');
} else {
move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']);
echo '上傳成功';
}
?>

上述代碼中,首先判斷是否有錯(cuò)誤發(fā)生。如果是,直接輸出錯(cuò)誤信息并終止程序。否則,將上傳文件的臨時(shí)文件名和新的文件名作為參數(shù)調(diào)用move_uploaded_file()函數(shù),將文件移動(dòng)到指定目錄中。最后,輸出上傳成功的消息。

結(jié)論:

通過上述步驟,使用jQuery上傳PHP文件并顯示進(jìn)度條變得非常簡單。需要注意的是,在實(shí)際應(yīng)用中,還需要對上傳文件的類型、大小等進(jìn)行驗(yàn)證,以確保安全性。