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

aak2

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

Есть dbf файл, я его открываю, перекачиваю данные в MySQL,
закрываю(проверяю,что закрыл нормально), пробую удалить и ни фига, пробовал переименовать то же ни фига, такое подозрение что dbf файл все равно остается захваченным:confused:
 

aak2

Новичок
на удаление файла выдается сообщение Permission denied , понятно что он захвачен процессом, вопрс как освободить принудительно файл и корректно удалить его
 

SiMM

Новичок
> понятно что он захвачен процессом
С чего ты взял? :) Скорее, у тебя просто нет прав на удаление файла.
 

aak2

Новичок
текстовые файлы из скрипта удаляются, рядом dbf файлы удаляются, а тот который обрабатывался - нет, странно
 

SiMM

Новичок
> а тот который обрабатывался - нет, странно
Может всё же потому, что у него права другие? И вообще - а откуда этот файл берётся? Ты его заливаешь точно так же, как и те, что удаляются? А если файл не обрабатывать, а сразу удалять - он удалится?
 

aak2

Новичок
На самом деле ситуация следующая есть архив в котором находятся несколько dbf и тхт файлов, я разархивирываю тхт файлы обрабатываются и удаляются, архив удаляется, необработанные dbf тоже можно удалить, а обработанные ни фига
 

beba

Новичок
aak2
Может быть ты просто забыл сделать
dbase_close($db_link)?
 

aak2

Новичок
Нет не забыл, в форуме я нашел нечто подобное, называется незакрытый хендл - что это такое я не знаю...
 

aak2

Новичок
Проблема то как раз и заключается в том что я закрываю dbase_close(), мало того делаю проверку на закрытие - все вроде нормально, но файл не могу удалить
 

aak2

Новичок
Warning: unlink(c:\e\TRANS.DBF) [function.unlink]: Permission denied in c:\www\file_load.php on line 140
 

ForJest

- свежая кровь
Значит действительно незакрытый хэндл. Маловероятно чтобы винда ругалась на владельца файла. Но вообще если NTFS на этом разделе, то посмотри на права файла.
 

ForJest

- свежая кровь
Значит не даёт удалить, потому что sharing file violation, т.е. файл открыт каким-то потоком на чтение или запись.
 

Profic

just Profic (PHP5 BetaTeam)
Скорее всего в коде где-то дублируется handler. Других вариантов нет, кроме как бага php, но однако этот код уже давно не редактировался.
 

aak2

Новичок
Это все понятно, вопрос почему dbase_close() не закрывает поток, и как данный поток все таки закрыть

-~{}~ 19.12.05 14:12:

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