无法使用PHP上传文件?

时间:2015-06-16 11:59:28

标签: php file-upload image-uploading

我无法使用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');
}
?>

文件夹已创建,但文件未上传,请提供帮助。

2 个答案:

答案 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