PHP:未定义的索引:inputfile

时间:2015-05-07 16:43:13

标签: php file-io

我想将图片上传到我的服务器,但是我收到了这个错误:

Notice: Undefined index: inputfile

这是我用于上传的表单:

<div class="form-group">
    <label class="col-md-2 control-label" for="inputfile">Foto uploaden</label>
    <div class="col-md-5">
        <input id="inputfile" name="inputfile" class="input-file" type="file">
    </div>
</div>

当用户按下“提交”时,他会将表单发布到:

if (isset($_POST['submit'])) {

    // Haalt de extenties op
    $ext = array('image/gif', 'image/jpeg', 'image/jpg', 'image/png');

    // Bekijkt bestandsgrootte (Max. 20 MB)
    // Als bestand te groot is dan stopt die.
    if ($_FILES["inputfile"]["size"] > 20971520) {
        echo 'Bestandsformaat te groot! Zorg er voor dat de afbeeldingsgrootte kleiner is dan 20 MB.';
        exit;
    }

    // Als bestand voldoet aan juiste extentie
    if (in_array($_FILES['inputfile']['type'], $ext)) {

        // Mapnaam voor de foto's
        $dir = 'uploads';

        // Als de map 'uploads' niet bestaat
        // dan wordt hij hier aangemaakt
        if (!file_exists($dir)) {
            mkdir($dir, 0777);
        }

        // Bestand wordt ge-upload
        if (is_uploaded_file($_FILES['inputfile']['tmp_name'])) {

            // $path = 'pics/';
            $path =$dir.'/';

            if (!file_exists($path . $_FILES['inputfile']['name'])) {

                move_uploaded_file($_FILES['inputfile']['tmp_name'], $path . $_FILES['inputfile']['name']);

                $foto_titel = $_POST['naamfoto'];
                $foto_omschrijving = $_POST['omschrijvingfoto'];
                $foto_url = "admin/uploads/".$_FILES["inputfile"]["name"];

                // Geeft melding dat bestand ge-upload is naar de server
                echo '<p>Foto geplaatst!</p>';
                echo '<p><a href="uploads/'.$_FILES["inputfile"]["name"].'" data-lightbox="foto-geupload"><img class="geuploade-foto" src="uploads/'.$_FILES["inputfile"]["name"].'" /></a></p>';
                echo '<p><strong>Naam:</strong> ' . $foto_titel . '<br>';
                echo '<strong>Omschrijving:</strong> ' . $foto_omschrijving . '<br>';


                //            Begin met insert in de database
                $bnb = $pdo->prepare('INSERT INTO cases (photo_title, photo_url, photo_description) VALUES (?, ?, ?)');
                $bnb->execute(array($foto_titel, $foto_url, $foto_omschrijving));


                //Verbinding afsluiten
                $pdo = null;

            }else {
                echo '<p>Afbeelding bestaat al en dus kon deze niet toegevoegd worden op de website.</p>';
            }


            // Als er om een reden niet aan de ifs
            // kan worden voldaan wordt deze
            // error getoond
        }else{
            echo 'Bestand niet geupload vanwege een onbekende error';
        }
    }
}

尝试了很多,但没有任何效果。

1 个答案:

答案 0 :(得分:0)

你有一个php.ini文件我相信你需要一个用于图片上传吗?

http://www.w3schools.com/php/php_file_upload.asp