jasso Geschrieben 5. August 2008 Geschrieben 5. August 2008 Hi Leute, ich habe eine MSSQL-DB in welcher in Dateien ablegen will. Das DB-Feld ist vom typ "image". Wenn ich mit folgendem Code:$hostname = "host"; $username = "user"; $password = "pw"; $dbName = "db"; MSSQL_CONNECT($hostname,$username,$password) or DIE("DATABASE FAILED TO RESPOND."); mssql_select_db($dbName) or DIE("Table unavailable"); $filename = "Logo.gif"; $handle = fopen($filename, "r"); $content = fread ($handle, filesize($filename)); $content = addslashes($content); fclose($handle); $sql_upload = "INSERT INTO dateien (datei) VALUES ('$content')"; $speichern = mssql_query($sql_upload); if($speichern){ echo "erfolgreich gespeichert"; } else { echo "speichern fehlgeschlagen"; }[/PHP]versuche Dateien hochzuladen funktioniert das für Textdateien prima. Mit Bildern allerdings lässt er mich das ganze nicht machen. Weiß jemand warum? lg jasso Zitieren
Shadowman Geschrieben 5. August 2008 Geschrieben 5. August 2008 (bearbeitet) ich kann dir leider nur sagen, wie ich das bis jetzt gemacht habe. für bilder habe ich ein feld vom typ binary angelegt. Danach habe ich beim bildupload ein bild mit einer eigenen php datei ins binärformat umgewandelt und dieses dann eingespeichert. zum auslesen hatte ich dann wieder eine andere datei, welche das bild komplett umgewandelt hat. zuhause habe ich nur noch die datei, die das bild aus der datenbank wieder auslesen konnte. das könnte ich später hier rein stellen, wenn dir das helfen würde dann musst du das aber noch so umstricken, dass es dir das binärformat der textdateien auch wieder umwandeln kann, was aber nicht all zu schwer sein sollte Mfg ShadowmanZ Bearbeitet 5. August 2008 von Shadowman Zitieren
flashpixx Geschrieben 5. August 2008 Geschrieben 5. August 2008 Es ist generell davon abzuraten Blobs innerhalb der Datenbank zu speichern. Aber soweit ich mir erinnere muss fread noch die Anzahl der zu lesenden Bytes bekommen HTH Phil Zitieren
jasso Geschrieben 5. August 2008 Autor Geschrieben 5. August 2008 Aber soweit ich mir erinnere muss fread noch die Anzahl der zu lesenden Bytes bekommen filesize($filename);? sollte damit doch geschehen sein oder? lg jasso Zitieren
Shadowman Geschrieben 5. August 2008 Geschrieben 5. August 2008 du hast die filesize gezogen. kannst sie dir ja auch testweise mal ausgeben lassen. $content = htmlspecialchars($content,ENT_QUOTES ); könnte helfen Zitieren
Aiun Geschrieben 5. August 2008 Geschrieben 5. August 2008 mysql_error könnte dir auch noch so einiges verraten Zitieren
jasso Geschrieben 5. August 2008 Autor Geschrieben 5. August 2008 $content = htmlspecialchars($content,ENT_QUOTES ); könnte helfen hat geholfen. danke Zitieren
Shadowman Geschrieben 5. August 2008 Geschrieben 5. August 2008 kein problem immer wieder gerne^^ Zitieren
OptFreak Geschrieben 5. August 2008 Geschrieben 5. August 2008 Datenbank = Ablage von Daten Filesystem = Ablage von Dateien Also ich bin mal frech und helf dir dabei jetzt nicht solche schweinereien zu begehen, manchmal kann es allerdings auch sinn machen.. Zitieren
Shadowman Geschrieben 5. August 2008 Geschrieben 5. August 2008 @optfreak: je nachdem, wie häufig du daran arbeiten musst und wie oft du dies von ausserhalb machen musst ist es schon sinnvoll. ich habe auch ein system geschrieben, mit dem ich die php dateien einer seite online bearbeiten könnte. allerdings habe ich die dateien als *.php aufm server gehabt und bearbeitet Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.