0
我使用文件上傳進度條創建了一個表單。我正在使用ajaxForm來設置前/後操作。一旦上傳過程結束,我想要生成一個新的網頁並通過調用「sendEmail.php」發送電子郵件。問題是我可以看到進度文件達到100%,但之後沒有任何反應。這是停留在100% 我有2個問題:ajaxForm - 即使php上傳文件不存在,「uploadProgress」也會顯示進度
- 當我在測試這個我注意到行動 - 「upload.php的」失蹤,但我看到這是按比例來表現的文件的進度條尺寸。 這是爲什麼?什麼是上傳文件?
- 當我添加UPLOAD.php它仍然無法正常工作。
我的表單創建行看起來是這樣的:
<form id="formmail" class="form-horizontal col-xs-6 col-sm-6 col-md-4 col-sm-offset-1" name="formmail" method="POST" action="**UPLOAD.php**" enctype="multipart/form-data">
我的腳本生成進度條:
var progress
$(document).ready(function() {
$("#submit").click(function(){
$("#formmail").ajaxForm({
type: "POST",
url: "sendEmail.php",
beforeSend: function() {
$("#progressBar").removeClass("hidden");
progress = "0%";
$('.progress-bar').css("width", progress);
$('.progress-bar').html(progress);
},
uploadProgress: function (event, position, total, percentComplete) {
progress = percentComplete + "%";
$('.progress-bar').css("width", progress);
$('.progress-bar').html(progress);
},
success: function (data){
alert("It's OK!");
},
}).submit();
});
});
的PHP上傳的文件,在這種情況下,只有上傳。一旦它運行,我將移動該文件。
<?php
if(isset($_POST) && !empty($_FILES['fileatt']['name'])){
$tmp = $_FILES['fileatt']['tmp_name'];
echo "echo something";
?>
如果您沒有爲表單設置動作,則默認爲當前網頁。無論該頁面是否可以處理該文件,都會上傳該文件,這就是您基於文件大小看到進度的原因。 '$ _FILES'的'print_r()'結果是什麼?要看到它,你可能需要'file_put_contents'數據(記得將print_r()的第二個參數設置爲'true',否則數據將不會保存到文件。 – JBH
謝謝, i'm這是新的 - 你可能會更具體,也許是一個簡短的例子? –