Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> MySQL] [PHP] typ pola w bazie na dodanie zdjęcia, dodawanie zdjęcia do bazy i wyciąganie
MartinezB
post
Post #1





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

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


Mam pytanie, jakiego typu pola musze użyć w bazie danych MySQL aby przchowywać tam zdjęcia?

Czy ktoś ma kod w php do umieszczania grafiki w bazie MySQL oraz do wyciągania zdjęcia z bazy na stronę.

Będę wdzięczny za pomoc.
Go to the top of the page
+Quote Post
SongoQ
post
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%)
-----


Zeby umiescic foto w bazkie potrzebny jest typ binarny, ale mozesz wykorzystac text i podczas odczytu pliku graficznego konwertowac na text i w takiej postaci zapisywac do bazy, przy odczycie robisz tak samo tylko odwrotnie.

Z tymi grafikami w bazie danych bywa roznie nieraz koncepcja sie zmienia od rodzaju bazy.


--------------------
Go to the top of the page
+Quote Post
MartinezB
post
Post #3





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

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


Kod strony z forumularzem jest prosty:

Kod
<FORM action="dodaj.php" method=POST name="forma" enctype="multipart/form-data">
<INPUT type="file" name="plik"><br>
<INPUT type="submit" value="laduj" name="dodaj">
</FORM>


ale jaki typ pola ma być w bazie MySQL, aby to zdjęcie dodało się do bazy przy pomocy strony dodaj.php??
I jak potem wyciągnąć te zdjęcie z bazy MySQL?

Ten post edytował MartinezB 6.03.2005, 08:26:22
Go to the top of the page
+Quote Post
SongoQ
post
Post #4





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%)
-----


Dodajesz uzywajac INSERT a wyciagasz uzywajac SELECT.

Ok. Moze teraz w szczegolach jak ja stostowalem.
Po zwalidowaniu tego pliku, rozmiar, typ, itd.

Odczytujesz binernie plik i "encodujesz" i zapisujesz do bazy.
  1. <?php
  2.  
  3. $rPlik = fopen('adres gdzie zapisales lub adres z tmp', 'r');
  4. $szZnakiZPliku = base64_encode(fread($rPlik, filesize('adres pliku jak powyzej')));
  5.  
  6. ?>


Odczyt robisz na odwrót.

Na poczatku wysylasz nagłówek:
  1. <?php
  2.  
  3. header(&#092;"Content-type: image/png\"); //png, gif, jpg, itd....
  4.  
  5. ?>


Nastepnie masz odczyt z bazy i wyswietlenie:
  1. <?php
  2.  
  3. echo base64_decode($szOdczytanaWartoscZBazy);
  4.  
  5. ?>


Jak wyciagnąc plik z bazy chyba juz nie musze pisać (jak nie to odsylam do podstaw sqla)

Sa tez inne metody na umieszczanie grafiki w bazie, wydaje mi sie ze ten przykład co opisalem jest ok.


--------------------
Go to the top of the page
+Quote Post
MartinezB
post
Post #5





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

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


Dzięki SongoQ za wskazówki!!!

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:


Ten post edytował MartinezB 8.03.2005, 18:33:53
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 Aktualny czas: 21.08.2025 - 17:33