Veröffentlicht 5. August 200817 j 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
5. August 200817 j 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 200817 j von Shadowman
5. August 200817 j 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
5. August 200817 j Autor 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
5. August 200817 j du hast die filesize gezogen. kannst sie dir ja auch testweise mal ausgeben lassen. $content = htmlspecialchars($content,ENT_QUOTES ); könnte helfen
5. August 200817 j Autor $content = htmlspecialchars($content,ENT_QUOTES ); könnte helfen hat geholfen. danke
5. August 200817 j 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..
5. August 200817 j @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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.