Ich möchte ein Bild im Blob-Format in db einfügen. Wie schreibe ich ein Programm in Zend Framework. ein einfaches Formular wählen Sie einfach ein Bild und fügen Sie in db.wie ein Bild in Db als Blob in ZendFramework einfügen
Antwort
In Ihrer Zend Form eine Datei Element erstellen:
$element = new Zend_Form_Element_File('fileElement');
Dann können Sie das hochgeladene Bild auf Ihre DB in BLOB-Format wie folgt einfügen:
$conn = new PDO("mysql:host='host';dbname='database'", 'userName', 'password');
$imagePath = $zendForm->fileElement->getFileName();
$image = file_get_contents('$imagePath');
$sql = "INSERT INTO images (data) values(?)";
$q = $conn->prepare($sql);
$q->bindParam(1, $image, PDO::PARAM_LOB);
$q->execute();
ooo Entschuldigung, ich benutze Zend-Modell-Klasse und $ tablename = new Zend_model_Photo(); $ Tabellenname-> save(); auf diese Weise bin ich die Daten speichern ... so kann ich nicht erwähnen, die "$ sql =" INSERT INTO Bilder (Daten) Werte (?) ";" Drüben .... – coderex
Lesen Sie es als eine Zeichenfolge mit file_get_contents
und speichern Sie diese.
Das heißt, es ist selten eine gute Idee, die tatsächlichen Bilddaten in der Datenbank zu speichern. Es empfiehlt sich, einen eindeutigen Dateinamen zu generieren und diesen stattdessen in der Datenbank zu speichern.
Vereinbart, BLOB in DB wird oft langsam und tragen zu DB Bloat bei. –
gibt es irgendeine zusätzliche Funktion oder Methode, während ein Blob über das Zend Framework in db eingefügt wird? oder einfache Modellklassenstruktur? Ich bin nicht in der Lage, Blob-Feld einfügen, Rest andere Felder eingefügt werden, aber nur Problem ist mit dem Blog – coderex
Hier einiger Code ist zu retten Datei in zend:
// This is to save in saveAction()
$source = $this->view->form->upload->getFileName();
$fp = fopen($source,'r');
$content = fread($fp,filesize($source));
// I don't use addslashes, because i already have that in my mapper
fclose($fp);
$model->image = base64_encode($content);
// Save here
// This is to read in imagesAction()
$this->_helper->Layout()->disableLayout();
$this->_helper->ViewRenderer->setNeverRender();
header('Content-Type: image/gif');
echo base64_decode($image);
exit;
ich eine Menge Probleme mit sich, versuchen sie, Ihre Arbeit zu machen speichern und nicht in Sert es direkt in die Datenbank, um das Lesen zu testen. Dies wird es nicht möglich machen, es sei denn, Sie kennen die korrekte db-Codierung (was ich nicht weiß).
- 1. Einfügen und Anzeigen von Bild als BLOB-Datei in SQLite
- 2. Ausgewähltes Bild aus Gridview in db einfügen
- 3. Bild aus der Datenbank einfügen (BLOB) Echo
- 4. Exportierte Blob Daten anders als DB Daten
- 5. Image in BLOB Oracle 10g einfügen
- 6. Einfügen und BLOB Bild in SQLite mit HTML5 und JavaScript
- 7. ein BLOB über ein SQL-Skript einfügen?
- 8. Rufen Sie ein Image ab, das als BLOB in einer MYSQL-DB gespeichert wird
- 9. Satz in DB einfügen
- 10. Cordova Kamera Bild als Blob Objekt
- 11. MVC Symfony2 Bild als Blob in Datenbank speichern
- 12. Blob Bild aus der Datenbank in PHP
- 13. Wie png binäre Daten in ein img-Tag einfügen und es als Bild anzeigen?
- 14. Wie man .jpg Bild von blob in .jpg zeigt Verbindung
- 15. SQLite Blob Einfügen C++
- 16. PHP/MySQL: Wie fügt man ein normales Blob-Bild in eine PHP-Seite ein?
- 17. Ein Bild in einen Tinymce-Editor einfügen
- 18. Einfügen von Dateien in DB
- 19. Wie konvertiert man ein Bildobjekt in ein binäres Blob?
- 20. Wie kann ich ein Bild mit Jsonservice in asp.net einfügen?
- 21. Bild in openpyxl einfügen
- 22. Wie liest man BLOB von Oracle DB?
- 23. BLOB (Bild) von Oracle in Hive importieren
- 24. wie Bild-Array einfügen
- 25. Download Bild von Blob in Firefox
- 26. Probleme beim Einfügen in DB
- 27. Bild in Spannweite einfügen
- 28. schreiben einfügen Anweisung für Bild in PHP
- 29. Fehler mit Blob-Bild
- 30. Bild in TextArea einfügen
Sie erkennen, es ist im Allgemeinen viel besser, ein Bild auf der Festplatte zu speichern und speichern Sie einfach die URL zu dem Bild in einer DB? – JasonDavis
Kann jemand helfen, indem er sagt, wie man das "out" nach dem Speichern bekommt? –