Php jQuery文件上载和获取$\u文件
我正在使用jQuery插件来加载文件。我只想使用上传按钮来显示所选的文件,并且只在提交表单时上传文件。以下是我的代码:Php jQuery文件上载和获取$\u文件,php,jquery,file-upload,Php,Jquery,File Upload,我正在使用jQuery插件来加载文件。我只想使用上传按钮来显示所选的文件,并且只在提交表单时上传文件。以下是我的代码: <form id="myform" method="post" enctype="multipart/form-data"> <span class="btn btn-success btn-mini fileinput-button"> <i class="icon-
<form id="myform" method="post" enctype="multipart/form-data">
<span class="btn btn-success btn-mini fileinput-button">
<i class="icon-plus icon-white"></i>
<span>Add files</span>
<input id="fileupload" type="file" name="files[]" multiple>
<button type="submit" id="start_uploads">Start uploads</button>
</span>
</form>
添加文件
开始上传
我可以使用以下代码创建列表:
$('#fileupload').fileupload({
dataType: 'json',
add: function (e, data) {
$.each(data.files, function (index, file) {
//alert('Added file: ' + file.name);
$('<li/>').text(file.name).appendTo('#fileList');
});
},
});
$('#fileupload')。fileupload({
数据类型:“json”,
添加:功能(e、数据){
$.each(data.files,函数(索引,文件){
//警报(“添加的文件:”+文件名);
$('').text(file.name).appendTo('#fileList');
});
},
});
但是当我提交表单时,我在$u文件或var_dump(文件)中没有得到任何东西;有谁能帮我摆脱我所缺少的,以及我如何才能做到这一点?
值得一提的是,如果清单中没有使用js代码,那么请务必获取包含所有选定文件的$\u FILES变量。
<?php if(!empty($_FILES)):?>
<?php echo json_encode($_FILES);?>
<?php else:?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>jQuery File Upload Example</title>
<link rel="stylesheet" href="http://blueimp.github.com/cdn/css/bootstrap.min.css">
<!-- Generic page styles -->
<!-- Bootstrap styles for responsive website layout, supporting different screen sizes -->
<link rel="stylesheet" href="http://blueimp.github.com/cdn/css/bootstrap-responsive.min.css">
<!-- Bootstrap CSS fixes for IE6 -->
<!--[if lt IE 7]><link rel="stylesheet" href="http://blueimp.github.com/cdn/css/bootstrap-ie6.min.css"><![endif]-->
<!-- Bootstrap Image Gallery styles -->
<link rel="stylesheet" href="http://blueimp.github.com/Bootstrap-Image-Gallery/css/bootstrap-image-gallery.min.css">
<!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->
<link rel="stylesheet" href="css/jquery.fileupload-ui.css">
</head>
<body>
<input id="fileupload" type="file" name="files[]" multiple>
<button id="sendFiles">Send</button>
<ul id="fileList"></ul>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="js/vendor/jquery.ui.widget.js"></script>
<script src="js/jquery.iframe-transport.js"></script>
<script src="js/jquery.fileupload.js"></script>
<script src="js/jquery.fileupload-ui.js"></script>
<script>
$(function () {
var filesData;
$('#fileupload').fileupload({
dataType: 'json',
add: function (e, data) {
filesData = data;
$.each(data.files, function (index, file) {
$('<li/>').text(file.name).appendTo('#fileList');
});
},
done: function (e, data) {
console.log(data);
}
});
$('#sendFiles').on('click', function () {
if (filesData) {
filesData.submit();
}
});
});
</script>
</body>
</html>
<?php endif;?>
jQuery文件上传示例
发送
$(函数(){
var数据;
$('#fileupload')。fileupload({
数据类型:“json”,
添加:功能(e、数据){
filesData=数据;
$.each(data.files,函数(索引,文件){
$('').text(file.name).appendTo('#fileList');
});
},
完成:功能(e,数据){
控制台日志(数据);
}
});
$('#sendFiles')。在('click',函数(){
如果(文件数据){
filesData.submit();
}
});
});
基本上,您必须在函数add
中调用数据对象的方法submit
。然后您将获得数据
对象,该对象以json字符串的形式包含$\u文件
。您不必使用实际的表单通过此插件发送文件,但是您可以使用表单标记(就像在代码中一样)包装输入,以便允许没有JavaScript(是否存在?:)的用户也发送文件。
如果您不想通过JavaScript发送文件,那么为了显示文件列表,您不必使用插件。您可以使用文件列表获取有关文件的信息您也可以发布您的php代码吗?如果($\u文件))var\u dump($\u文件);否则呼应“没有”;但是,您可以在此处检查整个代码: