Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Impedire apertura file txt da più utenti

    Salve a tutti, vorrei chiedere un piccolo consiglio.
    Ho del codice php che apre un file txt e scrive al suo interno dei dati.
    Se il file txt venisse aperto da due visitatori contemporaneamente (cosa che è già successo), si verrebbero a creare casini.
    Come posso evitare che il file txt venga aperto da due persone contemporaneamente?
    Come posso gestire la situazione?
    Grazie mille.
    Marcello

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Sicuro che ti sia successa questa situazione?
    Dovrebbe essere il filesystem ad evitare scritture concorrenti sui file, un po' come accade sui pc quando ti dice che non è possibile salvare un file perché è già in uso da qualcun altro.

  3. #3
    Credo di essere sicuro, spiego anche il problema in modo che tu mi possa o meno dare la conferma ed, eventualmente, una soluzione.
    Ho un file txt che utilizzo come contatore di visite.
    Quando un utente visita il mio sito, il codice php apre il file txt, legge il valore, lo incrementa e lo registra nel file txt sostituendolo a quello già esistente.
    Se nel file txt ho il valore 4001 e ricevo due visite, il file txt dovrà contenere prima il valore 4002 e poi il valore 4003.
    La cosa funziona nel 99% ma qualche volta mi capita di avere un valore sbagliato come 40024003 il che mi fa pensare che due utenti abbiano scritto nel file nello stesso tempo.
    La procedura avviene nel seguente modo:
    il file viene aperto in lettura, leggo il valore, lo chiudo, lo cancello, lo creo e registro il valore incrementato di uno.
    Forse è un sistema un po barbaro ma funzionante tranne in rarissimi casi.
    Mi sapete consigliare qualcosa??

    Grazie
    M

  4. #4
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

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.