Niestety nie mogę podać linku ponieważ serwery z bazą jak i www stoją w sieci niedostępnej z zewnątrz.
Mogę tylko podać funkcje jak jest zapisywany plik do bazy.
To jest moja tabela:
CREATE TABLE [dbo].[uzytkownik](
[user] [varchar](50) NOT NULL,
[zdjecie] [varbinary](max) NULL
) ON [PRIMARY]
I funkcje:
function getFileExtension($name){
return $namepart[0];
}
function convertImage($filename){
$fileType = getFileExtension($filename);
$arrData = unpack("H*hex", $dataString); $data = "0x".$arrData['hex'];
return $data;
}
else
return false;
}
oraz kawałek kodu z updatem do bazy danych:
$data = convertImage($file)
$sql = "UPDATE uzytkownik SET zdjecie = ".$data." WHERE user='maciek'";
$result = savesqldata($sql); //moja funkcja zapisu do bazy
gdzie
$file to pełna ścieżka do pliku, który wcześniej został uploadowany na serwer i odpowiednio zmniejszony rozmiar. np "./images/photo.jpg"
Wszystko zapisuje się poprawnie do bazy danych.
Potem tylko:
$sql = "SET TEXTSIZE 2147483647";
@mssql_query($sql);
$sql = "SELECT zdjecie FROM uzytkownik WHERE user='maciek'";
$rs = @mssql_query($sql);
if (!$rs) {
exit("<strong>Error</strong>"); }
$rs = mssql_fetch_assoc($rs);
$zdjecie = $data['zdjecie'];
header("Content-type: image/jpeg");
I wszystko ładnie się wyświetla. Ale w momencie gdy np przed lub po
header("Content-type: image/jpeg");
dodam jakąś treść to mam biały obrazek z przekreślonym krzyżykiem w rogu. A chciałbym wstawić ten obrazek w istniejącą już treść strony.