Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MSSQL][PHP]wyświetlenie binarnie zapisanego, zdjęcia w bazie na stronie PHP
MartinezB
post 8.03.2005, 18:37:21
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 6.03.2005

Ostrzeżenie: (0%)
-----


Zrobioną mam baze danych w MSSQL
zdjęcia są umieszczone w bazie danych w polu
ZDJ typ IMAGE
ZDJ zawiera obiekt binarny

Kod
<?php

$uzytkownik = "zdjecia";
$haslo = "zdjecia";
$db = "zdjecia";
$ip = "127.0.0.1";
$link = mssql_connect($ip, $uzytkownik, $haslo);
if (! $link)
die ( "nie moge się poł&plusmn;czyć z serwerem");
mssql_select_db($db, $link);

//zapytanie SQL
$zapytanie = mssql_query("SELECT * FROM ZDJECIA WHERE MATCLE='POL0000123'");

//formatowanie wyników
echo "<TABLE>";
while ($row = mssql_fetch_array($zapytanie))
{
echo "<TR><td><img src=\"$row[ZDJ]\"></td></TR>";
}
echo "</TABLE>";

//zwolnienie zasobów i zamknięcie połączenia
mssql_free_result($sql_result);
mssql_close($connection);
?>


W jaki sposób mogę wyświetlić binarnie zapisane w bazie zdjęcie.
Bo po wpisaniu normalnie jak w kodzie powyżej na ekranie mam poniższy kod:

Kod
?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmno?questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif??ot Entryquestionmark.gif@9?޶ϑ?>?@)退PvXڸ򂁃@Ole questionmark.gif?CompObj?uCONTENTSquestionmark.gif??i?questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif
questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif
questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif ދ?@)飀Microsoft Photo Editor 3.0 Pictuquestionmark.gif9?޶ϑ?>?@)飀Microsoft Photo Editor 3.0 PictureMSPhotoEditor MSPhotoEd.3??88Th? K?questionmark.gifɁ?questionmark.gif}questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifz??r{vlupgqidn
cbpY_mS]kR_mV_mVYfTMXGBM?DLAELEDKD@FDQUT|questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif}}yy{ttvpprpprttvzz|}~questionmark.gifquestionmark.gifquestionmark.gif?~questionmark.gif|questionmark.gif{questionmark.gif~questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif?
questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifܞ݀ʂ?
questionmark.gif}questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif?questionmark.gif{questionmark.gifvzqzunxplvkj
wcft[bpYbpYdq]`m[XcSPZO=E:


Czy jest możliwość odczytania binarnie zapisanego zdjęcia w bazie danych MSSQL i wyświetlenie tego jako grafiki na stronie php??

BEDE WDZIECZNY ZA POMOC!

Ten post edytował MartinezB 8.03.2005, 18:39:19
Go to the top of the page
+Quote Post
SongoQ
post 8.03.2005, 23:40:46
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Troszeczke zle podszedles do tematu.

Cytat
echo "<TR><td><img src=\"$row[ZDJ]\"></td></TR>";


Zastanow sie co tu napisales.

<img src="binarka"> w HTML tego tak nie zrealizujesz bo definicja TAG'a img jest <img src="sciezka do obrazka">

Wiec Twoj skrypt bedzie troche inaczej wygladal. W miejscu src="wstaw tutaj wywolanie skryptu php ktory generuje obrazek"

2 dni temu na tym forum napisałem sposób wyświetlania obrazków z bazy, poszukaj sobie. Wazne jest to aby wyslac naglowek ze to jest grafika a dalej robisz echo odczytana binarka z bazy.


--------------------
Go to the top of the page
+Quote Post
MartinezB
post 10.03.2005, 06:22:26
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 6.03.2005

Ostrzeżenie: (0%)
-----


zacząłem kombinować i napisałem kod:

Kod
<?php
header("Content-type: image/jpg");

$uzytkownik = "zdjecia";
$haslo = "zdjecia";
$db = "zdjecia";
$link = mssql_connect("127.0.0.1", $uzytkownik, $haslo);
if (! $link)
die ( "nie moge się poł±czyć z serwerem");
mssql_select_db($db, $link);

//zapytanie SQL
$zapytanie = mssql_query("SELECT * FROM ZDJECIA WHERE MATCLE='POL0001238'");

//formatowanie wyników
while ($row = mssql_fetch_array($zapytanie))
{
$a = "$row[ZDJ]";
$b = "$row[ZDJ]";
$c = base64_encode($a);
echo "<img src=\"$c\">";' <- z base64<br/>';
$d = base64_decode($b);
echo "<img src=\"$d\">"; '<- odkodowane base64<br/>';
}

//zwolnienie zasobów i zamknięcie połączenia
mssql_free_result($sql_result);
mssql_close($connection);
?>


Niestety nie wyświetla zdjęcia sad.gif

Potem napisałem:


Kod
<?php
header("Content-type: image/jpeg;");

$uzytkownik = "zdjecia";
$haslo = "zdjecia";
$db = "zdjecia";
$link = mssql_connect("127.0.0.1", $uzytkownik, $haslo);
if (! $link)
die ( "nie moge się poł±czyć z serwerem");
mssql_select_db($db, $link);

$filename = 'test.jpg';
if (!$handle = fopen($filename, 'w')) {
         echo "Cannot open file ($filename)";
         exit;
   }
$result = mssql_query("SELECT ZDJ FROM ZDJECIA WHERE MATCLE='POL0001238'");
$row = mssql_fetch_assoc($result);
if (fwrite($handle, $row['ZDJ']) === FALSE)
{
       echo "Cannot write to file ($filename)";
       exit;
}
fclose($handle);
echo "<TABLE>";
echo "<TR><td><img src=\"$filename\"></td></TR>";
echo "</TABLE>";

//zwolnienie zasobów i zamknięcie połączenia
mssql_free_result($sql_result);
mssql_close($connection);
?>


Pole MATCLE to pole zawierający nazwe pracownika.
No i niestety nie wyświetla mi się zdjęcie poprawnie.

już nie wiem jak można odczytać binarnie zapisany plik w bazie danych.
Typ pola w bazie danych to IMAGE, ale obiekt binarny.
W innej bazie danych ORALCE, która korzysta też z tej bazy danych zdjecia pobierają sie poprawnie. W MS Access po wstawieniu obiektu OLE pobierającego dane tez z tej bazy MSSQL - zdjęcie wyświetla sie poprawnie.
W php nie wiem jak to zrobic?questionmark.gif
Jest coś z obiektami OLE w php??
moze kiedyś się ktoś z tym spotkał lub ma jakiś pomysł.
Czy do php trzeba dogrywać jakieś biblioteki do obsługi grafiki??
Będę wdzięczny pomoc smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2024 - 19:22