sql >> Databáze >  >> RDS >> Mysql

Uložení cesty k souboru nahraného obrázku do databáze MySQL

Problémy se zabezpečením a zastaralé rozšíření stranou, vše, co musíte udělat, je vložit název souboru do databáze. Chcete-li to provést, přidejte do databáze pole "název souboru" a poté odpovídajícím způsobem upravte dotaz na vložení:

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

Také váš $uploaddir je prázdná, soubory se v tuto chvíli pravděpodobně ani nikam neukládají. Chcete-li soubory přesunout správně, zkuste něco takového:

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

Tento skript předpokládá, že důvěřujete nahranému obsahu, a funkce md5 je jen rychlý a snadný způsob, jak „dezinfikovat“ (pokud to tak mohu nazvat) název souboru.




  1. Pokus o kontrolu, zda uživatelské jméno již existuje v databázi MySQL pomocí PHP

  2. Připojení Visual c++ 2008 k MySql

  3. Cursor For Loop s dynamickým SQL příkazem

  4. Problém s porovnáním data MySQL?