Mailinglisten-Archive |
Hallo Tobias, TR> Versuch mal: TR> while(!feof($fd)) TR> { TR> $contents .= fread($fd, 64); TR> } werde ich gleich einmal ausprobieren, obwohl ich das Problem gestern abend elegant umgangen bin :) Die einwandfrei funktionierende Lösung war nun folgende (just FYI): (vielleicht auch für andere php-coder interessant) Der folgende Abschnitt kopiert lokale Bilddateien, die ich vorher base64-kodiert habe (=reine ascii-files) in die mySQL-Datenbank. Um die in der Datenbank gespeicherten Bilder wieder auszugeben, verwende ich den zweiten Abschnitt mit der Funktion base64_decode(): 8<-----------8<-----------8<-----------8<-----------8<----------- $server="..."; $userid="..."; $password="..."; $dbh=mysql_connect($server,$userid,$password); mysql_select_db("celephais"); function copy2database ($host, $pfad, $file, $anzbilder) { for ($j = 1; $j <= $anzbilder; $j++) { $contents=file("http://$host$pfad$file$j.b64"); $a=""; $i=0; $end=false; reset($contents); while (!$end) { $i++; if ($i>count($contents)) $end=true; else $a=$a.next($contents); } $result = mysql_db_query("celephais", "UPDATE bilderdb SET Bild_Blob=\"$a\" WHERE Bild_Nr=$j"); } } $host = "141.28.228.159"; $pfad = "/bilderdb/"; $file = "cd1_"; $anzbilder = 9; copy2database($host, $pfad, $file, $anzbilder); echo "Finished.<br>"; ?> 8<-----------8<-----------8<-----------8<-----------8<----------- <? $server="..."; $userid="..."; $password="..."; $dbh=mysql_connect($server,$userid,$password); mysql_select_db("celephais"); $result = mysql_query("SELECT Bild_Blob FROM bilderdb WHERE Bild_Nr=$bildnr"); $i = 0; while ($i < mysql_num_rows($result)) { $b=mysql_result($result, $i,"Bild_Blob"); $i++; }; $dekodiert=base64_decode($b); Header("Content-type: image/jpeg"); echo $dekodiert; ?> 8<-----------8<-----------8<-----------8<-----------8<----------- Gruss, Gerrit
php::bar PHP Wiki - Listenarchive