sql >> Base de Datos >  >> RDS >> Mysql

La carga de imágenes PHP tot MySQL no funciona

Debe guardar los archivos en alguna carpeta durante el proceso de carga y guardar el nombre del archivo en la base de datos, para que luego pueda llamar el nombre del archivo desde la base de datos y vincularlo como un hipervínculo para descargar, estoy usando el siguiente código para cargar imágenes en una carpeta llamada files y guardar el nombre de los archivos en la base de datos. Al final tengo el nombre del archivo en la 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>";
        }
    }