Evo, ovo je konkretan problem:
Radim upload slika pomocu zip fajla. Sve slike se cuvaju u jednom direktorijumu. Na pocetku ekstraktujem slike iz zipa i snimam ih sa originalnim imenima u dati folder, a zatim svaku ponaosob preimenujem da odgovara odredjenoj semi koja daje unikatne nazive fajlova. Sta je problem?
Pretpostavimo da oba korisnika koje spominjem uploaduju zipove sa razlicitim slikama, ali da se neka imena tih slika poklapaju. Korisnik uploaduje zip, cime skripta pocne da se izvrsava i negde u polovini posla drugi korisnik takodje zazeli da uploaduje.
Svi image fajlovi prvog korisnika nisu stigli da se preimenuju, a drugi korisnik je uplodovao i izvrsena je ekstrakcija arhive, te su neki fajlovi prvog korisnika, koji nisu stigli da se preimenuju, pregazeni fajlovima drugog.
Da se to ne bi desavalo, treba da obezbedim da je cela skripta transakcija (ne u smislu da se rollbackuje u slucaju greske, nego u smislu da se ne mogu paralelno izvrsavati dve iste transakcije koje narusavaju konzistentnost jedna drugoj) . E sada, ako apache ne moze ISTU skriptu da izvrsava dva puta u ISTO vreme, onda nema nikakvih problema :)
I ne zelim odgovor neka svako uploaduje u poseban (svoj) direktorijum ili slicno.
"necu da budem hipster kao ovi arhitekti koji znaju svakom ime, sta je radio, gde zivi, gde mu je office, gde drzi predavanja i sl... I onda kada vidis neku gradjevinu prvi put treba da pogodis cija je na osnovu stila. Bljak!"