[Php-it] Sincronizzare l'accesso a un file

Emiliano Gabrielli (aka AlberT) AlberT at superalbert.it
Mon Jun 5 12:47:48 CEST 2006


On Monday 05 June 2006 12:44, Gianluca Baù wrote:
> /* Apro il file per la scrittura */
> $fp = fopen($file_path, "w");
>

qui hai svuotato il file !!

> while ( !flock($fp, LOCK_EX) && $tentativi != 0 )
> {
>     /* Decremento i tentativi possibili */
>     $tentativi--;
> }
>
> /* Riscrivo il file con il numero del sito successivo */
> fwrite($fp, "ROBA DA SCRIVERE");
>
> /* Rilascio il lock */
> flock($fp, LOCK_UN);

se vuoi usare flock devi usare un secondo file (di lock appunto) su cui 
acquisire il lock!  occhio che flock non è atomica in ambienti multithread .. 
meglio usare mkdir a questo punto (trovi spunti sul man)

-- 
<?php echo '     Emiliano Gabrielli (aka AlberT)     ',"\n",
'  socio fondatore e membro del direttivo del GrUSP  ',"\n",
' AlberT_at_SuperAlberT_it   -   www.SuperAlberT.it  ',"\n",
'  IRC:    #php,#AES azzurra.com ',"\n",'ICQ: 158591185'; ?>


More information about the Php-it mailing list