Makloud 0 Denunciar post Postado Julho 30, 2008 Bem pessoal meu problema é o seguinte: Tenho um programa que o usuario abre um arquivo txt. E tenho um painel em php que preciso saber se este arquivo txt está aberto e caso estiver ser enviada uma mensagem proibindo que eu edite ele. Como posso fazer? Ja olhei varios comandos mas nada deu resultado ainda e preciso disse senao meu sistema sera falho. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Julho 31, 2008 utilize o flock seria algo equivalente ao FileShare.none do .NET exemplo em PHP $rs = fopen("PATH", "a+"); if ( flock($fp, LOCK_EX) ) { // não está em uso } else { // outro processo está usando } consulte: http://php.net/flock * aplicavel somente sob ambiente win32 com sistema de armazenamento NTFS Compartilhar este post Link para o post Compartilhar em outros sites
Makloud 0 Denunciar post Postado Julho 31, 2008 Como é um server locado não sei dizer se ele possui armazenamento NTFS, mas testei e mesmo abrindo o arquivo ele ainda deixa que eu possa mexer no arquivo. Veja como fiz: //OBS: esse .war é um arquivo que contem texto $arquivo= "C:/server/arquivos/nome.war"; $fp = fopen("$arquivo", "a+"); if ( flock($fp, LOCK_EX) ) { echo "Pode usar"; } else { echo "Não Pode usar"; } Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Agosto 1, 2008 NTFS é um sistema de armazenamento de dados no disco rígido. está disponível desde o windows 98 se o sevidor do seu host for windows, provavelmente está usando NTFS execute o script, faça debugs e veja se funciona.. Compartilhar este post Link para o post Compartilhar em outros sites