我在尝试使用以下代码上传多个文件时遇到问题。当我尝试选择多个文件时,我只显示多个文件中的第一个文件。如何获取所有这些文件名以及所有信息,例如临时名称和类型?
以下是多次上传的HTML代码:
class ViewController: UIViewController, ShowHideControlDelegate {
override func viewDidLoad() {
super.viewDidLoad()
var showHideControl = ShowHideControl(lblArray:playerEquityLblArray, lblArray2: playerEquityWordArray, txtArray: playerTxtArray, playerStepper: playerStepper)
showHideControl.delegate = self
}
func StepperChanged(stepper_value:Int){
println("hey, we got the changed value!")
}
}
这是JQuery ajax调用:
<form id="imageform" method="post" enctype="multipart/form-data" action='ajaxImageUpload.php' style="clear:both">
<h3>Upload your Documents Here</h3>
<div id='imageloadstatus' style='display:none'><img src="loader.gif" alt="Uploading...."/></div>
<div id='imageloadbutton'>
<style>
.col-md-4 {
float: none;
}
</style>
<div class="col-md-4">
<div class="input-group">
<label for="startDate">Select Month-Year :</label><br />
<input name="startDate" id="startDate" class="date-picker form-control" placeholder="Select Month-Year" />
</div>
<br />
<br />
<script src="js/jquery.monthpicker.min.js"></script>
<script>
$(document).ready(function() {
$('#startDate').monthpicker();
});
</script>
<input type="file" name="photos[]" id="photoimg" multiple="true" class="form-control" />
</div>
<br />
<br />
</div>
</form>
最后,这是处理上传文件的方式:
$('#photoimg').die('click').live('change', function(){
//$("#preview").html('');
if($('#startDate').val()=='' || $('#startDate').val()==null )
{
alert("Select Month/year");
return false;
}
else
{
var d=$('#startDate').val();
$.ajax({
type: "POST",
url: "mdoc_upld.php",
data: {'startDate':d,'files': $('#photoimg').val()}
}).done(function(data){
$("#preview").html(data);
});
}
});
对require_once "connection.php";
define ("MAX_SIZE","9000");
function getExtension($str)
{
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}
$valid_formats = array("pdf", "xls","xlsx","doc","docx");
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
{
print_r($_POST);exit;
if(isset($_POST['startDate']) && $_POST['startDate'] !='')
{
$d=$_POST['startDate'];
// $unixtime = 602294400;
$time = date("Y-m",$d);
//echo $time ;
}
的调用只显示一个文件名,但它应该是所有文件名的数组吗?
如何访问上传的所有文件?
答案 0 :(得分:1)
我找到了多个图片上传的教程。 here is link to tutorial
如果你想上传pdf文件或任何其他文件,你只需要在ajaxImageupload.php中替换以下行
$valid_formats = array("jpg", "png", "gif", "bmp","jpeg");
这一行
$valid_formats = array("pdf", "doc", "docx");
在此处添加更多文件扩展名。
还有一件事,如果您正在按照本教程的内容进行多文件上传,那么您只需要替换以下代码jquery.wallform.js
var exp = /<img[^>]+>/i;
expResult = data.match(exp);
if(expResult == null)
{
alert("Something went wrong.");
}
else{
$(options.target).prepend(data);
}
使用此代码:
$(options.target).prepend(data);
你完成了。享受和信用转到9lessons