Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Speichern des Dateipfads des hochgeladenen Bildes in der MySQL-Datenbank

Sicherheitsprobleme und veraltete Erweiterung Abgesehen davon müssen Sie lediglich den Dateinamen in die Datenbank einfügen. Fügen Sie dazu Ihrer Datenbank ein "Dateiname"-Feld hinzu und passen Sie dann Ihre Einfügeabfrage entsprechend an:

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

Außerdem Ihr $uploaddir Variable leer ist, werden die Dateien im Moment wahrscheinlich nirgendwo gespeichert. Um Ihre Dateien richtig zu verschieben, versuchen Sie Folgendes:

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

Dieses Skript geht davon aus, dass Sie dem hochgeladenen Inhalt vertrauen, und die md5-Funktion ist nur eine schnelle und einfache Möglichkeit, den Dateinamen zu "bereinigen" (wenn ich es so nennen darf).