il file lo devi gestire interamente via php. Nel senso: ti metti su un database o dove ti pare l'informazio di lock e l'utente che lo sta usando, se un altro utente usando php prova ad accedere, il sistema legge che un altro utente ha il lock (flag in db) e lo fa vedere solo in lettura.
Se il file viene usato aprendolo anche con Excel, non vedo molte strade percorribili.... puoi scoprire se microsoft, come con excel, quando apri un file con Excel questo crei un file nascosto per il lock, e quindi controllarne la presenza o meno...

Rispondi quotando