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

Enregistrement du chemin de fichier de l'image téléchargée dans la base de données MySQL

Problèmes de sécurité et extension obsolète de côté, tout ce que vous avez à faire est d'insérer le nom du fichier dans la base de données. Pour ce faire, ajoutez un champ "nom de fichier" à votre base de données, puis ajustez votre requête d'insertion en conséquence :

INSERT INTO products (name, description, price_low, price_high, filename)
              VALUES (:name, :desc, :price_low, :price_high, :filename)

Aussi, votre $uploaddir variable est vide, les fichiers ne sont probablement même pas enregistrés pour le moment. Pour déplacer vos fichiers correctement, essayez quelque chose comme ceci :

$uploaddir = '/path/where/you/can/save/';
$rawFilename = $_FILES['userfile']['name'];
$extension = pathinfo($rawFilename, PATHINFO_EXTENSION);

$uploadfile = $uploaddir . md5($rawFilename) . '.' . $extension;

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "File is valid, and was successfully uploaded.\n";
} else {
    echo "Upload failed";
}

Ce script suppose que vous faites confiance au contenu téléchargé et la fonction md5 n'est qu'un moyen simple et rapide de "désinfecter" (si je peux l'appeler ainsi) le nom du fichier.