Не могу удалить dbf файл после обработки

  • Автор темы Автор темы aak2
  • Дата начала Дата начала

aak2

Новичок
Не могу удалить dbf файл после обработки

Есть dbf файл, я его открываю, перекачиваю данные в MySQL,
закрываю(проверяю,что закрыл нормально), пробую удалить и ни фига, пробовал переименовать то же ни фига, такое подозрение что dbf файл все равно остается захваченным:confused:
 
на удаление файла выдается сообщение Permission denied , понятно что он захвачен процессом, вопрс как освободить принудительно файл и корректно удалить его
 
> понятно что он захвачен процессом
С чего ты взял? :) Скорее, у тебя просто нет прав на удаление файла.
 
текстовые файлы из скрипта удаляются, рядом dbf файлы удаляются, а тот который обрабатывался - нет, странно
 
> а тот который обрабатывался - нет, странно
Может всё же потому, что у него права другие? И вообще - а откуда этот файл берётся? Ты его заливаешь точно так же, как и те, что удаляются? А если файл не обрабатывать, а сразу удалять - он удалится?
 
На самом деле ситуация следующая есть архив в котором находятся несколько dbf и тхт файлов, я разархивирываю тхт файлы обрабатываются и удаляются, архив удаляется, необработанные dbf тоже можно удалить, а обработанные ни фига
 
Нет не забыл, в форуме я нашел нечто подобное, называется незакрытый хендл - что это такое я не знаю...
 
Проблема то как раз и заключается в том что я закрываю dbase_close(), мало того делаю проверку на закрытие - все вроде нормально, но файл не могу удалить
 
Warning: unlink(c:\e\TRANS.DBF) [function.unlink]: Permission denied in c:\www\file_load.php on line 140
 
Значит действительно незакрытый хэндл. Маловероятно чтобы винда ругалась на владельца файла. Но вообще если NTFS на этом разделе, то посмотри на права файла.
 
Значит не даёт удалить, потому что sharing file violation, т.е. файл открыт каким-то потоком на чтение или запись.
 
Скорее всего в коде где-то дублируется handler. Других вариантов нет, кроме как бага php, но однако этот код уже давно не редактировался.
 
Это все понятно, вопрос почему dbase_close() не закрывает поток, и как данный поток все таки закрыть

-~{}~ 19.12.05 14:12:

Спасибо всем кто учавствовал в обсуждении данной темы, ошибка на самом деле была детская (виноват, каюсь), в коде было дублирование dbase_open() (Profic - натолкнул на эту мысль). С уважением aak2.
 
Сверху