我无法使用php上传文件。 我在这里使用一个通用数组作为media [],然后使用for循环我上传。 这是我目前的代码:
<form class="form-horizontal" method="post" action="gallery.php">
<fieldset>
<div class="control-group">
<label class="control-label" for="typeahead">Select File</label>
<div class="controls">
<input class="input-file uniform_on" id="media[]" name="media[]" type="file">
</div>
</div>
<div class="control-group">
<label class="control-label" for="typeahead">Select File</label>
<div class="controls">
<input class="input-file uniform_on" id="media[]" name="media[]" type="file">
</div>
</div>
<div class="control-group">
<label class="control-label" for="typeahead">Select File</label>
<div class="controls">
<input class="input-file uniform_on" id="media[]" name="media[]" type="file">
</div>
</div>
<div class="control-group">
<label class="control-label" for="typeahead">Select File</label>
<div class="controls">
<input class="input-file uniform_on" id="media[]" name="media[]" type="file">
</div>
</div>
<div class="control-group">
<label class="control-label" for="typeahead">Select File</label>
<div class="controls">
<input class="input-file uniform_on" id="media[]" name="media[]" type="file">
</div>
</div>
<!--<input type="text" class="span6 typeahead" id="city" name="city" required >
<p class="help-block">Example : Nalasopara , Vasai road ..</p>-->
<div class="form-actions">
<button type="submit" name="submit" id="submit" class="btn btn-primary">Save changes</button>
<button type="reset" class="btn">Cancel</button>
</div>
</fieldset>
</form>
和
<?php
if(isset($_POST["submit"]))
{
//$media=$_POST["media"];
//$media=$_FILES['media']['name'];
$type="";
$count=count($_POST["media"]);
//echo "count: ".$count."<br>";
for($i=0;$i<$count;$i++)
{
$media1=$media[$i];
if($media1=="")
{
}
else
{
$ext = pathinfo($media1, PATHINFO_EXTENSION);
if($ext=="jpg"||$ext=="JPEG"||$ext=="JPG"||$ext=="png"||$ext=="gif"||$ext=="GIF")
{
$type="image";
//echo $type;
}
else if($ext=="flv"||$ext=="mp4"||$ext=="wma"||$ext=="3gp"||$ext=="mpeg"||$ext=="mkv"||$ext=="avi")
{
$type="video";
}
$filename = ("gallery");
if (file_exists($filename))
{
move_uploaded_file($_FILES["media"]["tmp_name"][$i], "$filename/".$_FILES["media"]["name"][$i]);
}
else
{
mkdir("gallery");
move_uploaded_file($_FILES["media"]["tmp_name"][$i], "$filename/".$_FILES["media"]["name"][$i]);
}
}
}
//header('Location: gallery.php');
}
?>
文件夹已创建,但文件未上传,请提供帮助。
答案 0 :(得分:1)
在表单中添加enctype='multipart/form-data'
。
<form class="form-horizontal" method="post" action="gallery.php" enctype='multipart/form-data'>
请参阅此link
修改强>
$filename = "gallery";
if (is_dir($filename))
{
$filename .= "/" . $_FILES["media"]["name"][$i];
move_uploaded_file($_FILES["media"]["tmp_name"][$i], $filename);
}
else
{
if(mkdir($filename))
{
$filename .= "/" . $_FILES["media"]["name"][$i];
move_uploaded_file($_FILES["media"]["tmp_name"][$i], $filename);
}
}
答案 1 :(得分:1)
在表单中添加enctype='multipart/form-data'
。
<form class="form-horizontal" method="post" action="gallery.php" enctype='multipart/form-data>
同时检查$filename = ("gallery");
..似乎错误的值已分配给$filename