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

Guardar la ruta de archivo de la imagen cargada en la base de datos MySQL

Problemas de seguridad y extensión obsoleta aparte, todo lo que necesita hacer es insertar el nombre del archivo en la base de datos. Para hacer eso, agregue un campo de "nombre de archivo" a su base de datos y luego ajuste su consulta de inserción en consecuencia:

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

Además, su $uploaddir está vacía, es probable que los archivos ni siquiera se estén guardando en ningún lugar en este momento. Para mover sus archivos correctamente, intente algo como esto:

$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";
}

Esta secuencia de comandos asume que confía en el contenido cargado y la función md5 es solo una forma rápida y fácil de "desinfectar" (si puedo llamarlo así) el nombre del archivo.