【发布时间】:2016-04-25 13:13:30
【问题描述】:
我正在尝试在上传文件时创建上传进度条。
这是我的 php 部分:
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
$root = '/users/'.$UserName.'/';
if (!is_dir($root))
{
@mkdir('users/'.$UserName, 0777);
if (($_FILES["file"]["size"] < $MaxUploadSize) && in_array($extension, $allowedExts))
{
echo 'upload successful';
$data = explode(".",$_FILES["file"]["name"]);
$newfilename = $realname;
move_uploaded_file($_FILES["file"]["tmp_name"], 'users/'.$UserName.'/' . $newfilename);
}
else
{
echo '<span class="failed">Upload failed!</span>';
}
}
} // endif SERVER REQUEST
对于进度条,我使用这个 javascript:
var bar = $('.bar');
var percent = $('.percent');
var status = $('#status');
$('#sfmform').ajaxForm({
beforeSend: function() {
status.empty();
var percentVal = '0%';
bar.width(percentVal)
percent.html(percentVal);
},
uploadProgress: function(event, position, total, percentComplete) {
var percentVal = percentComplete + '%';
bar.width(percentVal)
percent.html(percentVal);
},
success: function() {
var percentVal = '100%';
bar.width(percentVal)
percent.html(percentVal);
},
});
结合:http://malsup.github.com/jquery.form.js
我的表单如下所示:
<form id="sfmform" action="" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file" multiple"" />
<br />
<input type="submit" class="Button Primary" name="submit" value="Upload">
<br /><br />
</form>
进度条工作正常,但 php 回显没有显示,无论它们是成功还是失败。没有 js,回声效果很好!
我做错了什么?
【问题讨论】:
-
你的 php 文件是否在 标签内
-
不,我不在我的 php 文件中使用 html 标签
标签: php jquery file-upload