[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не удаляет(((
Undertaker
Доброго времени суток... Есть у меня код на php:

$f='C:\xampp\htdocs\tmp\pu6110314.dbf';
$dbh = @dbase_open($f,2);
if(!$dbh) {
dbase_close($dbh);
unlink($f);
}

Данный код должен открывать файл и если ему не удалось то он его удаляет, но вот незадача, он не может его удалить т.к. использует (Unloker говорит есть не закрытые процессы). На dbase_close($dbh); ругается говорит:
Warning: dbase_close() [function.dbase-close]: Unable to find database for identifier 0 in

А по поводу удаления говорит:
Warning: unlink(C:\xampp\htdocs\tmp\pu6110314.dbf) [function.unlink]: Permission denied in

проверял unlink со скрипом но работает если файл не использовать, но как удалить если так получилось



Спустя 17 минут, 35 секунд (22.03.2012 - 16:57) Visman написал(а):
$f='C:\xampp\htdocs\tmp\pu6110314.dbf';
$dbh = @dbase_open($f,2);
if($dbh)
dbase_close($dbh);
else
unlink($f);


Спустя 9 минут, 36 секунд (22.03.2012 - 17:07) Undertaker написал(а):
Visman
Я не верю, как оно может работать? В чём разница??? Но тем не менее работает)))) Спасибо.

Спустя 3 минуты, 23 секунды (22.03.2012 - 17:10) Undertaker написал(а):
Хотя нет, снова отказалась(((((

Спустя 2 минуты, 32 секунды (22.03.2012 - 17:13) Visman написал(а):
Разница в том, что в условии я добавил ветку иначе.
Если файл открылся, то просто закрыли его.
Если же он не открылся, то его спокойно можно удалить.

З.Ы. Если файл открылся, то его ни кто не удаляет

Спустя 4 минуты, 1 секунда (22.03.2012 - 17:17) Undertaker написал(а):
Visman
А если файл битый, процесс его использует, но он не открывается?

Спустя 7 минут, 13 секунд (22.03.2012 - 17:24) Visman написал(а):
Undertaker
Только извращение приходит на ум:
Сделать переадресацию на себя с передачей в сессии, например, какой файл надо удалить.

З.Ы. Но может это бред.

Спустя 6 минут, 49 секунд (22.03.2012 - 17:31) Undertaker написал(а):
Visman
Цитата
Только извращение приходит на ум:
Сделать переадресацию на себя с передачей в сессии, например, какой файл надо удалить.

Хочу тогда проверить файл на размер и если он 0 байт то удалить (у меня битые файлы 0 байт)


Спустя 7 минут, 49 секунд (22.03.2012 - 17:39) Undertaker написал(а):
Visman
Прокатило
  if (filesize($f)==0) {
unlink($f);
}

И никаких проблем, спасибо за помощь, благодарность завтра, сегодня я уже "проставлялся кармой"


_____________
Из отчета службы безопасности:
... по поводу взлома китайцами сервера Пентагона:
1) Каждый китаец попробовал один пароль.
2) Каждый второй пароль был - maodzedun.
3) На 657983241-й попытке сервер согласился что у него пароль - maodzedun
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.