mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mi 24.04.2024 06:18 Benutzername: Passwort: Auto-Login

Thema: Bild statt in der DB als Datei speichern vom 07.04.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Bild statt in der DB als Datei speichern
Autor Nachricht
alf
Threadersteller

Dabei seit: 07.04.2006
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 07.04.2006 02:02
Titel

Bild statt in der DB als Datei speichern

Antworten mit Zitat Zum Seitenanfang

Hallo und guten morgen Grins

ich habe ein Script, dass ich benutze und in diesem Script werden Bilder in der
Datenbank gespeichert ( was ich für schändlich finde ). Nun möchte ich diese
statt in der DB als Datei Speichern, blicke jedoch nicht ganz durch da ich nicht
vile Ahnung von Bildern in der DB habe *Schnief*

Hier mal der Code :

Code:

function mms_save(&$mms) {
// save MMS in database
$sql = "
INSERT INTO " . TABLE_MMS . "
(
`from`,
`to`,
`subject`,
`content_type`
) VALUES (
'" . mysql_escape_string($mms->FROM) . "',
'" . mysql_escape_string($mms->TO) . "',
'" . mysql_escape_string($mms->SUBJECT) . "',
'" . mysql_escape_string($mms->CONTENTTYPE) . "'
)
";
//echo $sql;
if (!mysql_query($sql))
log_error('Database error: Could not insert MMS data into database. MySQL: ' . mysql_error());
$mmsid = mysql_insert_id();
// loop thru parts and save them in database
foreach ($mms->PARTS as $part) {
$result = mysql_query("INSERT INTO " . TABLE_PARTS . " (mmsid, datalen, content_type, data) VALUES ('$mmsid', '" . $part->DATALEN . "', '" . $part->CONTENTTYPE . "', '" . mysql_escape_string($part->DATA) . "')");
if (!$result)
log_error('Database error: Could not insert part data into database. MySQL: ' . mysql_error());
}
}


Bei diesem Script wird eine MMS auseinander genommen und gespeichert,
jedoch wie gesagt in der DB !

Normalerweise müsste es doch so sein
Code:

$path="bilder/";
move_uploaded_file($_FILES[$part->DATA]["tmp_name"], $path);


Aber da kommt nichts an und eine Fehlermeldung bekomme ich auch
nicht da wie gesagt das Script vom handy gesteuert wird.

Hier mal die DB-Struktur

parts

Feld |Typ | Null | Standard
id | int(10) | Nein |
mmsid | int(10) | Nein | 0
datalen | int(12) | Nein | 0
content_type | varchar(255) | Nein |
data | blob | Nein | <- Dass müsste das Bild sein !

Für Hilfe wäre ich super Dankbar

Gruss Alf
  View user's profile Private Nachricht senden
tacker

Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht: Männlich
Verfasst Fr 07.04.2006 10:02
Titel

Antworten mit Zitat Zum Seitenanfang

In
Code:
$part->DATA
ist der Inhalt des Bildes (also der Binärcode der Datei) enthalten
und nicht der Dateiname.

Deswegen ist
Code:
$_FILES[$part->DATA]
Schwachsinn.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
alf
Threadersteller

Dabei seit: 07.04.2006
Ort: -
Alter: -
Geschlecht: -
Verfasst Sa 08.04.2006 01:23
Titel

Antworten mit Zitat Zum Seitenanfang

O.K. danke nur wo kann ich die Daten Abfangen ?
Die Funktion MMS_save wird hier aufgerufen :
Code:

if ($HTTP_RAW_POST_DATA != "") {
   // check if the raw post data shall be saved
   if (SAVE_RAWDATA) {
      // save RAW data
      $data = $HTTP_RAW_POST_DATA;
      $filename = md5($data . time() . rand(1, 1000));
      
      $file = fopen($filename, 'wb');
      fwrite($file, $data);
      fclose($file);
      
      $info = print_r($_SERVER, true);
      $file = fopen($filename . "_info", 'wb');
      fwrite($file, $info);
      fclose($file);
   }
   
   // parse MMS
   $mms = new MMSDecoder($HTTP_RAW_POST_DATA);
   $mms->parse();
   
   // connect to database
   db_connect();
   
   // save mms and it's parts
   mms_save($mms);
   
   // close db connection
   db_close();
   
   // set header
   header('Content-type: application/vnd.wap.mms-message');
   
   // send confirmation response
   $mms->confirm();
}


Gruss und Danke
  View user's profile Private Nachricht senden
tacker

Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht: Männlich
Verfasst Sa 08.04.2006 09:33
Titel

Antworten mit Zitat Zum Seitenanfang

alf hat geschrieben:
O.K. danke nur wo kann ich die Daten Abfangen ?


Die sind doch schon da drin:
Code:
$part->DATA

Also, wozu abfangen?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
alf
Threadersteller

Dabei seit: 07.04.2006
Ort: -
Alter: -
Geschlecht: -
Verfasst Sa 08.04.2006 12:14
Titel

Antworten mit Zitat Zum Seitenanfang

Ja ne ist klar, aber ich würde es ja gerne als File und nicht
in die DB Speichern um diese nicht auf zu blähen und um
mit dem Bild irgendwie besser arbeiten zu können.

Klar ich könnete nun schauen wie ich mit dem Bild in
einer Datenbank arbeiten kann aber es geht halt zu lasten
der DB daher lieber als File in einem Verzeichnis.

Oder kann ich es auslesen als File spchern und aus der DB
wieder löschen Lächel Kompliziert aber möglich !

Gruss und Danke
  View user's profile Private Nachricht senden
tacker

Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht: Männlich
Verfasst Sa 08.04.2006 12:17
Titel

Antworten mit Zitat Zum Seitenanfang

Alf!
Lies verdammt nochmal meinen Text!

Mach einen
Code:
print_r($part->DATA);

und schau dir an was in der Variable drin ist.

Den Inhalt speicherst du einfach mit
Code:
file_put_contentes($part->DATA, 'image.ext');

im Dateisystem ab und kannst dann damit arbeiten.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Backware

Dabei seit: 09.12.2004
Ort: bei Köln
Alter: 38
Geschlecht: Männlich
Verfasst Mo 10.04.2006 09:30
Titel

Antworten mit Zitat Zum Seitenanfang

tacker hat geschrieben:
Alf!
Lies verdammt nochmal meinen Text!

Mach einen
Code:
print_r($part->DATA);

und schau dir an was in der Variable drin ist.

Den Inhalt speicherst du einfach mit
Code:
file_put_contentes($part->DATA, 'image.ext');

im Dateisystem ab und kannst dann damit arbeiten.


ein leichten hauch an aggressionen entnehm ich deinem post *bäh*

@topic: http://de3.php.net/manual/de/function.move-uploaded-file.php
  View user's profile Private Nachricht senden
 
Ähnliche Themen DW-Datei als Bild speichern?
ImageReady Datei mit url speichern
Inhalt von php Datei in Variable speichern?
[Director 8]Variablen in (txt)Datei Speichern
Titel in einer ausgelagerten Datei speichern
generiertes Bild speichern
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.