n1kolay
Новичок
блокирование файлов ворд системой и функция unlink
Добрый день.
Ситуация в следующем. Задача для сети интранет.
необходимо узнать открыт ли файл ворд или ексель на сервере как-нибудь приложением.
Как в ситуации когда в общей папке есть файл ворд, который открыт одним пользователем, и при попытке другим пользователем открыть возникает сообщение о возможности открытия только в режиме чтения.
с данной ситуацией замечательно справляется такая конструкция:
если word'ом открыть файл 1.doc и вызвать скрипт то ответ будет следующим
Warning: unlink(temp2/1.doc) [function.unlink]: Permission denied
Файл занят
а файл не будет удален
если же файл не открыт, то он будет удален.
Проблема же состоит в том, что никакие другие функции кроме unlink типа fileperms, is_writable и другие не дают определить открыт ли файл в данный момент. Все они выдают одинаковый ответ как при открытом так и при свободном от приложения файле.
Суть задачи: определить открыт ли файл кем-то в данный момент, если открыт то ничего не предпринимать и спросить позже, если же не открыт то произвести определенные манипуляции с ним.
Естественно, при использовании unlink манипулировать в случае положительного ответа уже не с чем, файл удалиться.
Добрый день.
Ситуация в следующем. Задача для сети интранет.
необходимо узнать открыт ли файл ворд или ексель на сервере как-нибудь приложением.
Как в ситуации когда в общей папке есть файл ворд, который открыт одним пользователем, и при попытке другим пользователем открыть возникает сообщение о возможности открытия только в режиме чтения.
с данной ситуацией замечательно справляется такая конструкция:
PHP:
if (unlink ('temp2/1.doc'))
echo "Удален";
else
echo "Файл занят";
Warning: unlink(temp2/1.doc) [function.unlink]: Permission denied
Файл занят
а файл не будет удален
если же файл не открыт, то он будет удален.
Проблема же состоит в том, что никакие другие функции кроме unlink типа fileperms, is_writable и другие не дают определить открыт ли файл в данный момент. Все они выдают одинаковый ответ как при открытом так и при свободном от приложения файле.
Суть задачи: определить открыт ли файл кем-то в данный момент, если открыт то ничего не предпринимать и спросить позже, если же не открыт то произвести определенные манипуляции с ним.
Естественно, при использовании unlink манипулировать в случае положительного ответа уже не с чем, файл удалиться.