Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> flock
SonGoace
post 21.06.2003, 16:15:20
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 13.05.2002
Skąd: Sanok

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


Mam problem z blokowaniem pliku licznika !

oto kod:
[php:1:0b435e2f2e]
<?php
$plik = 'obrazy.txt';
$o = $_GET['num'];

$f = file($plik);
$f[$o] += 1;
$f[$o] = $f[$o]."n";

$fp = fopen($plik, 'w');
flock($fp, 10000);
fputs($fp, str_replace("r", '', implode('', $f)));
flock($fp, 30000);
fclose($fp);
?>[/php:1:0b435e2f2e]

Licznik działa ale jak ktoś za szybko odświeża stronę to skrypt kasuje zawartość licznika i zaczyna zaliczać od nowa !!!

Macie moze na to jakąś rade ?
Go to the top of the page
+Quote Post
KaMeLeOn
post 21.06.2003, 16:29:45
Post #2





Grupa: Zarejestrowani
Postów: 680
Pomógł: 0
Dołączył: 1.10.2002
Skąd: Wrocław

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


Hmm...
Skąd ty wziąłeś te wartości w flock()...
Poczytaj tutaj: http://www.php.net/manual/pl/function.flock.php


--------------------
"Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
Go to the top of the page
+Quote Post
Jabol
post 21.06.2003, 16:31:55
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


polecam to zrobić tak.[php:1:7af33a3a1d]
<?php
$plik = "obrazy.txt";
while( file_exists( $plik.'.inuse' ) )
{
}
fclose( fopen( $plik.'.inuse', 'w' ) );
$f=explode( "n", file_get_contens( $plik ) );
$f[$_GET['num']]++;
$fp = fopen( $plik, 'w' );
flock( $fp, 2 );
fputs( $fp, implode( "n", $f ) );
flock( $fp, 3 );
fclose( $fp );
unlink( $plik.'.inuse' );
?>[/php:1:7af33a3a1d]
Go to the top of the page
+Quote Post
Modest
post 21.06.2003, 16:32:28
Post #4





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 17.10.2002
Skąd: Your other side

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


wlasnie...
moze flock($fp, 2);
i flock($fp, 3);


--------------------
I'm your master
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 16:04