Datei in Datenbank speichern
-
12-12-2019 - |
Frage
Ich muss eine hochgeladene Datei vorzugsweise in der Tabelle core_file_storage als Blob in der Datenbank speichern und später abrufen.Ich möchte, dass dies mit einem Kunden verbunden ist.Derzeit werden die Dateien im Dateisystem gespeichert und dies muss eingestellt werden.
Gel: Ich habe das Modell Magier / Kern / Datei / Modell / Speicher / Datenbank verwendet.php-Methoden zum Schreiben in die Tabelle core_file_storage
Lösung
Das Speichern in der Datenbank wird nicht empfohlen, da Ihre Datenbank schnell riesig wird.
Was ist das Tabellenschema?Sie können Blob-Dateien speichern, indem Sie den Dateiinhalt mit abrufen file_get_contents
PHP-Funktion.
Versuchen Sie so etwas, nachdem Sie es unten durch Ihre realen Daten ersetzt haben:
Mage::getModel('core/file_storage')
->setCustomerId($custId)
->setYourFile(file_get_contents('/path/to/file.ext'))
->save();
Und dann holen:
Mage::getModel('core/file_storage')->load($custId);
$blobFile = $cust->getYourFile();
// Und im Frontend anzuzeigen...wenn ein Bild:
header("Content-type: image/jpg"); //Send the content Type here.
echo $blobFile;