Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zabezpieczenie przed usunieciem danych z pliku
dublinka
post
Post #1





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


Witam,
Na wstepie chce sie przywitac.

Problem pojawia sie kiedy dostep do pliku ma wiecej niz jeden user w tym samym momencie (nie czesto to jest ale zawsze moze byc a kiedys juz tak mialam).Za przyklad moze posluzyc nam licznik ktory zostanie wtedy wyzerowany.
Ktos ma jakis pomysl na to (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


1. Naucz się poprawnie pisać po polsku bo to co napisałaś woła o pomstę do nieba
2. Zamiast kombinować z .tmp wystarczy nadać plikom przedrostki np.
- plik otwarty przez użytkownika ma przedrostek 'close_'
- plik nieużywany 'open_'

  1. $file = 'plik.txt';
  2. $zapis = (file_exists('open_'.$file)) ? true : false;
  3.  
  4. if($zapis) {
  5.  
  6. // zmiana nazwy pliku tak aby inni nie mogli w nim nic zapisać
  7. rename('open_'.$file, 'close_'.$file);
  8.  
  9. /* tutaj jakieś działania */
  10.  
  11. // kod zapisu
  12. file_put_contents('close_'.$file, 'efewfwf');
  13.  
  14. //na końcu ponowna zmiana nazwy pliku
  15. rename('close_'.$file, 'open_'.$file);
  16. }
  17. else { // tylko odczyt
  18.  
  19. $content = file_get_contents('close_'.$file);
  20. }


Niedogodnością takiego rozwiązania jest przerwanie działania skryptu a co za tym idzie plik nie zmieni nazwy z 'close_' na 'open_' (IMG:style_emoticons/default/smile.gif)

Ten post edytował CuteOne 17.09.2011, 15:31:24
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 08:03