En cuanto a bloqueo de archivos para el proceso físico de lectura o escritura .. revisa la función:
flock()
http://www.php.net/manual/en/function.flock.php
Pero hay que diferenciar lo que sería ese proceso fisico de lo que sería bloquear "la aplición" entera para que si X usuario entra a leer el archivo Y o N usuarios no puedan escribir en el archivo hasta que X no libere el archivo.
Lo mismo usan las Base de datos con sus bloqueos de tablas/registros .. como más arriba ya han comentado ...
Un saludo,