Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    62

    PHP - scrittura su file

    ho un dubbio che non riesco a risolvere...

    Supponiamo che esista una pagina in php che se richiamata da un utente scriva il suo ip alla fine di un file che contiene una serie di indirizzi ip.

    Supponiamo che due utenti richiamino la pagina contemporaneamente.

    Non c'è il rischio che uno dei due nuovi indirizzi ip vada perso ?

    Dico questo perchè il primo utente richiama la pagina php ma prima che il suo ip venga registrato anche il secondo utente ha richiamato la pagina php quindi quando il server completa la procedura di registrazione dell'ip del secondo utente questa (che non contiene nel suo elenco l'ip del primo utente perchè la procedura di registrazione del primo utente non è stata completata) questa avrà memorizzato l'ip del secondo utente ma non quello del 1 utenet che andrà perso...

    Dovrebbero usarsi dei semafori o sbaglio ? Se ho ragione come posso implementare un algoritmo simile ?

    Spero di essere stato chiaro...

  2. #2
    dai un'occhiata a questa funzione nella doc PHP:

    bool flock ( resource handle, int operation [, int &wouldblock] )

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    62
    ciao ho visto flock ma ha molte limitazioni... in poche parole non mi garantisce il funzionamento...

    "La funzione flock() non funzione con NFS e con diversi altri file system di rete. Verificare sulla documentazione del proprio sistema operativo.

    Su molti sistemi operativi flock() è implementato a livello di processo. Usando un server API multithread quale ISAPI non potrai basarti su flock() per proteggere i file da altri script PHP che girino in thread paralleli della stessa istanza del server!

    La funzione flock() non è supportata su file system antiquati tipo FAT e i suoi derivati e pertanto in tali ambienti restituirà sempre FALSE (questo è vero soprattutto per gli utenti di Windows 98).
    "

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.