Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Čuvanje podataka o uploadovanim slikama u bazi podataka

[es] :: PHP :: Čuvanje podataka o uploadovanim slikama u bazi podataka

[ Pregleda: 2410 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

PHPovac

Član broj: 300013
Poruke: 168
*.dynamic.isp.telekom.rs.



+19 Profil

icon Čuvanje podataka o uploadovanim slikama u bazi podataka18.04.2012. u 22:58 - pre 145 meseci
Ćao svima. Pravim jedan sajt i treba da ima multiple upload. To sam rešio, ali nisam siguran kako da čuvam podatke o slikama u bazi.

Razmišljao sam da napravim polje attachedPhotos u tabeli i da u njega upisujem uploads/imeslika.jpg|||uploads/imeslike2.jpg pa da posle vršim explode ili kako..?


Sada sam se setio još nečega. Da napravim tabelu attachedPhotos, i tabelu photosRelations.
I onda u attachedPhotos ubacujem id, lokaciju, datum i title, a u photosRelations ubacujem
id, postID, photoID
Ja mislim da je ovo drugo bolje, a vi?

[Ovu poruku je menjao PHPovac dana 19.04.2012. u 00:09 GMT+1]
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
*.85-200-249.bkkb.no.

Sajt: norway.dakipro.com


+190 Profil

icon Re: Čuvanje podataka o uploadovanim slikama u bazi podataka19.04.2012. u 07:51 - pre 145 meseci
Ovo drugo je bolje, ustvari ovo drugo je skoro pa jedino dobro za slucaj koji ti imas. Ako ti treba vise istih fotografija na nekoliko razlicitih postova, onda moras tako sa N-N relacijom (ili kako se vec to tehnicki zove)
 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
77.243.16.*



+303 Profil

icon Re: Čuvanje podataka o uploadovanim slikama u bazi podataka19.04.2012. u 15:07 - pre 145 meseci
Citat:
Sada sam se setio još nečega. Da napravim tabelu attachedPhotos, i tabelu photosRelations.
I onda u attachedPhotos ubacujem id, lokaciju, datum i title, a u photosRelations ubacujem
id, postID, photoID

Mislim da nema potrebe da dodajes drugu tabelu, kad vec imas postID. Dodaj jos jednu kolonu u prvu tabelu, pa hvataj slike na osnovu nje... A posto se slike nece cesto brisati, izbacio bih id kolonu iz prve tabele, i samo ostavio postID. Posle brises na osnovu postID i lokacije...
 
Odgovor na temu

maddog_srb
Cacak

Član broj: 192945
Poruke: 129
*.ts.fujitsu.com.



+24 Profil

icon Re: Čuvanje podataka o uploadovanim slikama u bazi podataka19.04.2012. u 17:47 - pre 145 meseci
A sta ako zeli da ima dve iste slike u istom postu? Npr:

Ja bih ipak isao sa predlozenom opcijom br. 2
 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
77.243.16.*



+303 Profil

icon Re: Čuvanje podataka o uploadovanim slikama u bazi podataka19.04.2012. u 19:04 - pre 145 meseci
INSERT INTO attachedPhotos (postID, lokacija, datum, title) VALUES ('1','ime_prve_slike.jpg','datum','title')
INSERT INTO attachedPhotos (postID, lokacija, datum, title) VALUES ('1','ime_druge_slike.jpg','datum','title')
SELECT * FROM attachedPhotos WHERE postID='1'
DELETE FROM attachedPhotos WHERE postID = '1' AND lokacija="ime_prve_slike.jpg"

Umesto:
INSERT INTO attachedPhotos (id, lokacija, datum, title) VALUES ('1','ime_prve_slike.jpg','datum','title')
//get last insert id
INSERT INTO photosRelations (id,postID,photoID) values ('1','1','1')
INSERT INTO attachedPhotos (id, lokacija, datum, title) VALUES ('2','ime_druge_slike.jpg','datum','title')
//get last insert id
INSERT INTO photosRelations (id,postID,photoID) values ('2','1','2')
SELECT * FROM photosRelations LEFT JOIN attachedPhotos on photosRelations.photoID = attachedPhotos.id WHERE photosRelations.postID='1'
DELETE FROM photosRelations WHERE photoID='1'
DELETE FROM attachedPhotos WHERE photoID='1'

:)
U prvom lepo stavi index na attachedPhotos.postID, i uziva :) Trosice manje memorije, i radice brze. Jedno ce brisanje biti malo sporije, jer ce morti da se radi pretraga "lokacija" polja, ali realno to je zanemarljivo jer ne brise slike tako cesto......

Inace, kad se vec raspisah (ovo je cisto licno razmisljanje), nemoj da upisujes lokaciju, vec samo ime slike. Posle si slobodan da prebaci slike negde drugo ako je potrebno, a da putanju menjas u aplikaciji (umesto da menjas sve redove u bazi)... I ako bi koristio originalni drugi primer, umesto da stavis da ti se id slike zove id, bolje stavi photoID (pa posle kad radis left join, ne pises blablabla ON blablabla nego USING (photoID).
 
Odgovor na temu

markoco
Marko Coric
PC Plus, C# Developer
Ruma, Vojvodina

Član broj: 96718
Poruke: 63
*.dynamic.isp.telekom.rs.



Profil

icon Re: Čuvanje podataka o uploadovanim slikama u bazi podataka22.04.2012. u 11:25 - pre 145 meseci
Klasicna, neko bi rekao 'pocetnicka', Parent-Childs struktura. UVEK i SAMO snimati imena falova, bez pune lokacije (osim ako slika nije sa drugog hosta :D). Moze se raditi i sa FOREIGN KEY (http://dev.mysql.com/doc/refma...b-foreign-key-constraints.html) ali ce tada brisanje samih fajlova biti malo komplikovano. U ostalom, ako je Facebook dozvolio sebi da ne brise slike (jos uvek im se moze pristupiti ako znate punu lokaciju (URL) cak i ako su izbrisane sa profila) ne vidim zasto bi i ti brinuo oko toga (jedino mozda zbog MB limita) ...
registered Linux user #378994
 
Odgovor na temu

PHPovac

Član broj: 300013
Poruke: 168
*.dynamic.isp.telekom.rs.



+19 Profil

icon Re: Čuvanje podataka o uploadovanim slikama u bazi podataka22.04.2012. u 13:37 - pre 145 meseci
Zaboravio sam da se javim, rešio sam putem dve tabele...
Prikačeni fajlovi
 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
77.243.20.*



+303 Profil

icon Re: Čuvanje podataka o uploadovanim slikama u bazi podataka22.04.2012. u 16:18 - pre 145 meseci
Date upisuj kao timestamp...
 
Odgovor na temu

PHPovac

Član broj: 300013
Poruke: 168
*.dynamic.isp.telekom.rs.



+19 Profil

icon Re: Čuvanje podataka o uploadovanim slikama u bazi podataka22.04.2012. u 16:43 - pre 145 meseci
poslužiće i ovo.. za sada koristim strtotime funkciju
 
Odgovor na temu

[es] :: PHP :: Čuvanje podataka o uploadovanim slikama u bazi podataka

[ Pregleda: 2410 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.