Witam, pracuję właśnie na bazie mssql z SubiektGT v.1.26 .
Dane w bazie o zdjęciach zapisane są w tej postaci:
0xFFD8FFE000104A46494600010101006000600000FFD...
(widać to z poziomu SQL Server Management Studio Express )
Próbowałem wykonać w PHP poniższy kod w celu zapisu i wyświetlenia pobranej fotki z bazy do pliku jpg.
Jednak tak to nie działa. Przy próbie wyświetenia fotki w IE mam krzyrzyk. Po odpaleniu utworzonego pliku obrazka w irfanView mam komunikat.
JPEG datasream contains no image.
JAK OTRZYMAĆ OBAZKI Z BAZY?
PROSZĘ O POMOC!
<?php
$server = 'KOMP\INSERTGT';
$baza = 'BAZA';
$login = 'test';
$haslo = 'test';
if (mssql_connect($server, $login, $haslo) and mssql_select_db($baza)) {
// zapytanie do bazy danych
$wynik = mssql_query("SELECT tw__Towar.tw_Id, tw__Towar.tw_Symbol,
tw__Towar.tw_Nazwa, tw__Towar.tw_Opis, tw_Cena.tc_CenaNetto3, tw__Towar.tw_IdGrupa,
tw__Towar.tw_Uwagi , tw_Stan.st_Stan ,sl_Magazyn.mag_Nazwa , sl_StawkaVAT.vat_Stawka ,
sl_StawkaVAT.vat_Id , zd_Zdjecie
FROM tw__Towar
INNER JOIN tw_Cena ON tw__Towar.tw_Id = tw_Cena.tc_IdTowar
INNER JOIN tw_Stan ON tw__Towar.tw_Id = tw_Stan.st_TowId
INNER JOIN tw_ZdjecieTw ON tw__Towar.tw_Id = tw_ZdjecieTw.zd_IdTowar
INNER JOIN sl_StawkaVAT ON tw__Towar.tw_IdVatSp = sl_StawkaVAT.vat_Id
INNER JOIN sl_Magazyn ON sl_Magazyn.mag_Id = tw_Stan.st_MagId
WHERE (tw__Towar.tw_SklepInternet = 1) AND (tw_Zablokowany=0)") or
die("Błąd w zapytaniu!"); }
else echo "Nie mogę połączyć się z bazą danych!"; while($rek = mssql_fetch_assoc($wynik)) {
$foto = $rek['zd_Zdjecie'];
file_put_contents("zs.jpg", $foto);
file_put_contents("zs.txt", $foto);
}
header('Content-type: image/jpeg'); echo "<img src='zs.jpg'>";