Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP tot MySQL-Image-Upload funktioniert nicht

Sie sollten die Dateien während des Upload-Vorgangs in einem Ordner speichern und den Dateinamen in der Datenbank speichern, damit Sie später den Dateinamen aus der Datenbank aufrufen und als Hyperlink zum Herunterladen verlinken können. Ich verwende den folgenden Code, um Bilder hochzuladen in einem Ordner namens files und Speichern des Dateinamens in der Datenbank. Am Ende habe ich den Dateinamen in Variable $newname

    if ($_FILES['file']['name']) {

        $allowedExts = array("gif", "jpeg", "jpg", "png");
        $temp = explode(".", $_FILES["file"]["name"]);
        $extension = end($temp);
        if ((($_FILES["file"]["type"] == "image/gif")
                || ($_FILES["file"]["type"] == "image/jpeg")
                || ($_FILES["file"]["type"] == "image/jpg")
                || ($_FILES["file"]["type"] == "image/pjpeg")
                || ($_FILES["file"]["type"] == "image/x-png")
                || ($_FILES["file"]["type"] == "image/png"))
            && ($_FILES["file"]["size"] < 500000)
            && in_array($extension, $allowedExts)
        ) {
            if ($_FILES["file"]["error"] > 0) {
                echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
            } else {
                $ext = end(explode(".", $_FILES["file"]["name"]));
                $filename = current(explode(".", $_FILES["file"]["name"]));
                $newname = $filename . '_' . time() . '.' . $ext;
                move_uploaded_file($_FILES["file"]["tmp_name"],
                    "files/" . $newname);
            }
        } else {
            echo "<div class='alert alert-success'>Image type or size is not valid.</div>";
        }
    }