sql >> Databasteknik >  >> RDS >> Mysql

Sparar filsökväg för uppladdad bild till MySQL-databas

Säkerhetsproblem och utfasad tillägg åt sidan, allt du behöver göra är att infoga filnamnet i databasen. För att göra det, lägg till ett "filnamn"-fält i din databas och justera sedan din infogningsfråga därefter:

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

Även din $uploaddir variabeln är tom, filerna sparas förmodligen inte ens någonstans för tillfället. För att flytta dina filer ordentligt, prova något i stil med detta:

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

Det här skriptet förutsätter att du litar på det uppladdade innehållet och att md5-funktionen bara är ett snabbt och enkelt sätt att "sanera" (om jag kan kalla det så) filens namn.




  1. Hur man får kolumnkommentarer från SQL

  2. Lägg till Windows-användare till lokal SQL Server med PowerShell

  3. Mysql - Hur jämför man två Json-objekt?

  4. Något snabbare än get_headers()