DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   recycle bin za CMS (http://www.devprotalk.com/showthread.php?t=3167)

Ilija Studen 05. 07. 2007. 10:35

Naravoučenije - ako trash nije a must - zaobiđi :)

Ivan 05. 07. 2007. 10:51

Btw, ako se odluci za rename onda moze cak i da ne koristi bazu uopste i to u slucaju da se svi fajlovi nalaze u jednom (ili par) foldera, tako sto ce ih razlikovati po nekom prefiksu ili sl ...

bojan_bozovic 05. 07. 2007. 12:11

Ivanhoe, premesti ih u dir koji nije dostupan (order deny,allow deny from all allow from example.com). Tako si olaksavas jer i celu stazu do fajla pamtis, ne moras pisati to u bazu.

@Ilija

Pa nije tesko - pitanje je samo da li stvarno treba (a u 99% slucajeva ne treba).

degojs 05. 07. 2007. 15:07

Citat:

Originalno napisao salebab (Napišite 38405)
^ pa on svakako u bazi mora da cuva originalno ime fajla zbog restore. Znaci samo kada upisuje novi fajl proveri dal se u bazi nalazi takvo ime fajla.
Moj predlog je samo rename, recimo neki prefix fajlu npr "rb_" :)

Kako to rešava problem koji sam opisao?

Ne možeš da samo dodaš neki prefix npr. "rb_" i da to reši stvar. Šta ako obišeš fajl sa imenom "abc.txt" (postaje "rb_abc.txt") pa onda imaš novi fajl sa istim imenon "abc.txt" koji takođe obrišeš, itd.

U tom slučaju ti bi u "recycle bin" folderu dobio dva fajla sa istim imenom, oba "rb_abc.txt" što baš i nije moguće.

Mislim da je najjednostavnije rešenje:
1. sačuvati original ime fajla u bazi
2. fajl pomeriti u "recycle bin" folder i
3. promeniti mu ime da bude jednako vrednosti autoincrement polja iz 1.

Ivan 05. 07. 2007. 15:32

A jel moze npr da prefix bude 'rb' + timestamp ...

bojan_bozovic 05. 07. 2007. 15:34

ako fajlove ne cuva u bazi ne mora dirati bazu uopste. naravno, ne dodaje onda prefiks na ime fajla, vec samo prebacuje fajl u recycle bin uz puni path. npr. /slike/slika1.jpg postaje /trash/slike/slika1.jpg.

Zasto komplikujete?

degojs 05. 07. 2007. 16:10

Pa šta će se desiti kada, u tom tvom primeru, imaš novi fajl:

/slike/slika1.jpg

i fajl se briše. Pazi, u svom recycle binu već imaš /trash/slika/slika1.jpg.

Kako ćeš da imaš 2 ista fajla na istom mestu(/trash/slika/slika1.jpg)?

bojan_bozovic 05. 07. 2007. 16:14

A do toga moze doci i ako se koristi tvoj pristup jer je korisnik uploadovao drugi fajl sa istim imenom na istu lokaciju, zar ne?

U bazi, npr. imas fajl pod ID 3 koji pokazuje na /trash/3.deleted koji je nemoguce vratiti na /slike/slika1.jpg jer taj fajl postoji. A ako isti bude obrisan opet ces morati da korisnika upozoris da recycle bin vec sadrzi taj fajl, samo treba i petljanje sa bazom.

degojs 05. 07. 2007. 16:16

Citat:

Originalno napisao Ivan (Napišite 38449)
A jel moze npr da prefix bude 'rb' + timestamp ...

Pa, to ti je onda otprilike generisanje jedinstvenog imena, što sam odmah i napisao..

Nisam siguran da je timestamp dobro rešenje, morao bi čovek malo da vidi može li doći do konfliktne situacije - siguran sam da (bar teoretski) može, itd. Mislim da je bolje za ime koristiti nešto iz baze, neki brojač, za koji garantovano znaš da je jedinstven (ili ako OS ima funkciju da generiše unique ime, pa onda tako nešto..)

A može u bazi da samo drži brojač, pa da ga koristi kao prefix imena.. Mada, zašto ne staviti i original ime u bazu? Upite nad fajlovima u recycle binu onda može da radi nad tabelom.. itd.

degojs 05. 07. 2007. 16:18

Citat:

Originalno napisao bojan_bozovic (Napišite 38455)
A do toga moze doci i ako se koristi tvoj pristup jer je korisnik uploadovao drugi fajl sa istim imenom na istu lokaciju, zar ne?

Pa sad, da li ćeš da ih upozoravaš kada brišu ili kada vraćaju, da može doći do prepisivanja? Mislim da je logičnije da se upozorenje pojavljuje samo kod "restore" operacije..?

(A ivanhoe je verovatno već završio posao ovako ili onako :D)


Vreme je GMT +2. Trenutno vreme je 06:50.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.