[ Mosa @ 21.11.2003. 17:22 ] @
1.Koji RDBMS predlazete da koristim za arhiviranje skeniranih fotografija ?
2.i nacin definisanja polja kada bih se odlucio za mysql...
[ Zidar @ 24.11.2003. 14:16 ] @
To moze lepo da odradi Access, plje tipa OLE. I Microsoft SQL Server ima data type za to - "blob" ili binary (?) cini mi se. Nazalost, ne znam kako to zaista izvesti u SQL serveru. Ako neko zna, bilo bi lepo da cujemo.

:-)
[ zocky @ 24.11.2003. 14:45 ] @
mysql i blob, mada ne razumem sta mislis pod tim "nacin definisanja polja"?
[ Gojko Vujovic @ 24.11.2003. 15:11 ] @
Pod 2 - verovatno misli na tip polja, to je već rečeno, blob ili longblob.

Znači:

CREATE TABLE fajlovi (
sadrzaj longblob NOT NULL
);

I dodaš još šta ti već treba od polja, neki ID kao key da bi nalazio te fajlove, i slično.
[ Mosa @ 29.11.2003. 17:30 ] @
1. treba da napravim bazu slika... da li je pametnije da preview-ovi slika budu u bazi ili da baza sadrzi reference na te preview-ove. u pitanju su razliciti formati (.jpg, .gif, .tif, .eps, .bmp), dimenzije, velicine itd (ukupno oko 200 gb slika :)... planiram da koristim mysql, a php za interfejs, medjutim neki ljudi mi savetuju da koristim aplikaciju za unos podataka (opisa slika) umesto da podatke filujem formom iz php-a (uz autentifikaciju)... + kazu da mysql nije dobar za ovakve stvari zbog bloba koji je ogranicen (valjda zahteva uniformisanost u smislu velicina slika)
2. postoji li nacin da se preview generise od originalnih slika, ili cu morati to da uradim rucno...



[ spartak @ 07.12.2003. 20:37 ] @
Prvo ne vidim razlog zasto stvarno ne bi drzao slike na file sistemu, a u bazi samo njihov info i path gde se na disku nalaze.

A sam preview ti je na web-u najlakse realizovati tako sto ces sliku 'na silu' da resize-ujesh za prikaz u browseru, na primer:

<img src=<?$imgPath?>."/".<?$imgName?> height=[visina orginala / 10] width=[sirina orginala / 10]>

ili slicno.. Na ovaj nacin neces ucitati manje slike, znaci load ti je isti, ali ces moci da ih prikazes vise na strani kao thumbnails. Dobra strana ti je sto ce korisnik da ih ima cache-irane, pa kad hoce da pogleda u full dimenzijama nece morati da je ceka.

Drugi nacin je pravo generisanje thumbnail-a sa cime nemam iskustva.
[ Mosa @ 12.12.2003. 09:48 ] @
spartak: yeah, ja želim da držim slike na fs, ali preview-e sam hteo da stavljam u bazu (ali neću)... Preview slika definitivno moram da pravim zato što većina ima preko 20 MB, a koncipiramo tako da se po strani prikazuje 10-tak slika. (veliki broj (velikih) slika, a svaki search daje mnogo rezultata)...

automatsko generisanje thumbnailova u ovom slučaju nije moguće (postoji gd koji radi ovaj posao, ali ... kod nas ima mnogo različitih formata koje ne podržava, pa ćemo ručno praviti thumbs...)

IZRADA BAZE IDE SVOJIM TOKOM, polako se sve uklapa u celinu. Zanima me koja je maksimalna preporučena veličina za jednu solidnu MySQL bazu, odnosno za jedan row u tabeli? (najbolji odnos veličina baze/brzina pristupa, za p2 ~ 400, 512 MB ram-a...) znam da ne može tačno da se definiše, ali dajte bar neki hint, ili neki link. btw čitam dokumentaciju itd, ali nisam uspeo da pronađem nešto konkretno, dakle ako može nešto iz vašeg iskustva...
[ Gojko Vujovic @ 14.12.2003. 07:01 ] @
Bolje da ti ne kažem kakva su moja iskustva sa slikama u tabeli na "busy" mysql serveru.. :(

Drži sve, pa i preview-e na disku, da te ne boli glava. :)
[ dinke @ 09.01.2004. 10:41 ] @
Najlaksi nacin da odradis thumbnailove je koriscenjem ImageMagick convert utility-a. Njega vrlo lako mozes da pozivas iz php scripta kao externu k-du i da odradis razlicitu convert k-du za razlicit tip slike (gif, tiff i sl..).

Vise informacija na http://www.imagemagick.org/ a mozes da pogledas i manual za convert k-du (man convert) ako imas pristup shellu.

Inace, apsolutno se slazem da slike drzis na fajl sistemu a path u bazi.

Pozdrav
Dinke
[ madamov @ 05.03.2004. 11:33 ] @
Citat:
spartak:
Prvo ne vidim razlog zasto stvarno ne bi drzao slike na file sistemu, a u bazi samo njihov info i path gde se na disku nalaze.


Zavisi od alata koji koristiš. Naime, onaj koji ja koristim (4D) sve podatke i indekse drži u tzv. data fajlu, ili više njih. Kada ubacuješ slike kroz BLOB polje, on vremenom prilično naraste. Pretpostavimo da korisnik udje u aplikaciju i izmeni samo jedno slovo ili brojku u nekoj od tabela. Prilikom sledećeg bekapa softver za bekap kopira ceo data fajl sa svim slikama koje mogu zauzimati gigabajte i gigabajte mesta na disku, a koje se relativno retko menjaju. E da bih ovo izbegao, slike uvek držim izvan baze, a u njoj samo referencu na njih.

Drugi slučaj je kod Web aplikacija. Kako 4D ima integrisan Web server moguće je slike slati direktno iz baze (postoji komanda SEND HTML BLOB kojoj je jedan od parametara MIME tip). Medjutim, kada imaš veliki broj hitova opsluživanje slika može značajno da uspori aplikaciju. U tom slučaju se u praksi najčešće primenjuje rešenje da 4D kada šalje stranu sa slikama dinamički formira linkove ka njima uz pomoć reference iz baze, a njih će browseru poslati Apache sa mašine na kojoj se slike i nalaze.

P.S. Tek sada videh da sam pogrešno pročitao ono iz tvog citata i shvatio ga u potpuno suprotnom značenju, tako da moj odgovor shvatite kao dva primera zašto slike treba držati van baze.
[ webmaster1 @ 02.05.2004. 13:31 ] @
Citat:
Gojko Vujovic:

Znači:

CREATE TABLE fajlovi (
sadrzaj longblob NOT NULL
);

I dodaš još šta ti već treba od polja, neki ID kao key da bi nalazio te fajlove, i slično.


Dobro,to kapiram,ali kako da ga "stavim" u tabelu?
INSERT ???STA???
[ _owl_ @ 02.05.2004. 18:41 ] @
Pa sadrzaj slike normalno (procitas je, ubacis u neku promenljivu i onda napravis INSERT komandu).
[ webmaster1 @ 03.05.2004. 15:00 ] @
Mislis ono kao kada je cita da bi je stavio u attachment?
[ MoHicAn @ 07.05.2004. 11:03 ] @
Radio sam jednom nesto slicno samo je bila rec o mnogo manjim slikama tako da sam ih drzao u bazi (tako je trazio lik).

Evo ti primer koda kako da uploadujes sliku iz php-a u blob polje

Code:

-bash-2.05b$ cat unos/unos.php
<?php
include("../dbconnect.php");
if ($submit)
{
        $data = addslashes(fread(fopen($img, r), filesize($img)));
        $query = "insert into psi (......,img,filename,filesize,filetype,......) values
                                  (........,'$data','$img_name','$img_size','$img_type',.......)"
                                  ;
mysql_query($query) or die (mysql_error());
?>
<br>
<a href="../index.php">Pregledaj bazu</a>
<?php
}
else
{
?>
<form method=post action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data">
 
.............
<br>
<input type=hidden name="MAX_FILE_SIZE" value="1000000">
<b>Slika</b>
<input type=file size=50 name=img>
<br>
.............
<br>
<input type=submit name=submit value="Unesi">
<input type=reset name=reset value="Iz pocetka">
</form>
<?php
}
?>


Ovako je izgledala baza

Code:

CREATE TABLE zivotinja (
  id int(4) NOT NULL auto_increment,
  .......
  img_glava longblob,
  img_telo longblob,
  .......


A ovako prikaz

Code:


$get_image = "select img, filetype from psi where id = $id";
$get_image_result = mysql_query($get_image) or die("Ne mogu da dobijem sliku.");
 
$binimg = @mysql_result($get_image_result,0,"img");
$filetype = @mysql_result($get_image_result,0,"filetype");
 
header("Content-type: $filetype");
echo "$binimg";



Itd itd ... nadam se da si skontao sta i kako iz ovoga.
[ miljenko2003 @ 17.05.2004. 09:39 ] @
napravio sam bazu u accessu iz VB-ovog visual data managera ali moze da se prepravlja u Accessu , ali to sada nije bitno . U tabeli sam naveo polja koja mi trebaju ali mi treba i slika (pravim katalog filmova,...) . Napravio sam program u VB-u kojim mogu da citam i unosim filmove u bazu ali kako da povezem image sa bazom - da mi cita referencu sa harda gde se nalazi i da mi sa naslovom filma prikaze i sliku
pomagajte
ili ako neko ima nesto jednostavnije
hvala
[ mladenovicz @ 17.05.2004. 09:45 ] @
Ako cuvas path do slike u bazi, onda kod unosa napravi da se slika bira sa Browse (Common dialog, ili API). Posle mozes da u bazu upises path ili da sliku cuvas ko OLE object