Mysql
 sql >> Base de données >  >> RDS >> Mysql

Le téléchargement d'images PHP vers MySQL ne fonctionne pas

Vous devez enregistrer les fichiers dans un dossier pendant le processus de téléchargement et enregistrer le nom du fichier dans la base de données, afin que vous puissiez ensuite appeler le nom du fichier de la base de données et le lier en tant que lien hypertexte à télécharger, j'utilise le code suivant pour télécharger des images dans un dossier appelé files et enregistrer le nom des fichiers dans la base de données. A la fin j'ai le nom du fichier dans 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>";
        }
    }