Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

27.12.2009, 14:45
|
|
Познающий
Регистрация: 11.11.2007
Сообщений: 89
Провел на форуме: 243903
Репутация:
15
|
|
del
Последний раз редактировалось Ridikh; 06.01.2010 в 18:12..
|
|
|

27.12.2009, 14:49
|
|
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме: 2603363
Репутация:
278
|
|
Бред какой-то.
Мб я не так понял конечно, но какая связь с удалением записей с мускуля и удалением файлов?
|
|
|

27.12.2009, 14:51
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Ridikh на php - http://php.net/opendir, http://php.net/readdir. Получаете список всех файлов, сравниваете со списком хороших - остальные удаляете.
В дальнейшем удаляете по человечески, не только из базы, но и с диска
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
|
|
|

27.12.2009, 17:44
|
|
Новичок
Регистрация: 20.01.2008
Сообщений: 17
Провел на форуме: 65417
Репутация:
7
|
|
впринципе если имеется информация о файлах в бд то 1м запросом с поощью NOT IN можно справиться
|
|
|

27.12.2009, 21:39
|
|
Познавший АНТИЧАТ
Регистрация: 01.12.2006
Сообщений: 1,769
Провел на форуме: 3718311
Репутация:
1118
|
|
unlink() Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.
Вот и обрабатывай ошибку как положено
PHP код:
if (isset($_GET['id_del'])) {
$id_del=$_GET['id_del'];
$file_del=db_query("SELECT file_name FROM files WHERE id=$id_del");
if(unlink("files/".$file_del)){ // Для начала пытаемся удалить файл
db_query("DELETE FROM files WHERE id=$id_del LIMIT 1");
// И если все гуд то удаляем и запись в базе
unset($id_del);
}else{
//Иначе во все горло орем о невозможности удалить файл
echo "Ааааа.... млять не могу удалить эти чертовы байтики ис харда =( ";
}
}
+ Как вообще попадают файлы на сервер? какие права на них стоят? ... вообщем мало инфы.
Кстати отображение ошибок включи и будет больше счастья ini_set('error_reporting', E_ALL);
да кстати - лучше не так "files/" а так "/files/" относительно корневого каталога
Последний раз редактировалось POS_troi; 27.12.2009 в 21:53..
|
|
|

27.12.2009, 21:40
|
|
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме: 2603363
Репутация:
278
|
|
PHP код:
if (isset($_GET['id_del'])) {
$id_del = (int)trim($_GET['id_del']);
$file_del = db_query("SELECT `file_name` FROM `files` WHERE `id`='$id_del'");
if(!$file_del){
die('Mysql problem');
}
$array = mysql_fetch_array($file_del);
$filename = $array['file_name'];
if(db_query("DELETE FROM `files` WHERE `id`='$id_del' LIMIT 1") && unlink("files/".$filename)){
die('file deleted');
} else { die('i cannot delete file :(');
}
}
Последний раз редактировалось Deathdreams; 27.12.2009 в 21:43..
Причина: немного сократил код
|
|
|

28.12.2009, 01:17
|
|
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме: 2603363
Репутация:
278
|
|
Ковыряйся в мускуле.
Попробуй сделать запрос без всяких посторонних функций.
Подключись к мускулю и сделай обычный mysql_query, он тебе напишет в чём ошибка заключается.
|
|
|

04.01.2010, 18:32
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме: 2769640
Репутация:
1304
|
|
Ridikh вы мазохист? Или насильник? За что вы так сношаете mysql?
__________________
Любая действущая программа устарела.
Создайте систему, которой сможет пользоваться даже дурак ,и только дурак захочет ею пользоваться.
Как правильно задавать вопросы: _http://www.yakimchuk.ru/questions.htm
|
|
|

04.01.2010, 18:59
|
|
Познающий
Регистрация: 20.12.2009
Сообщений: 33
Провел на форуме: 206864
Репутация:
40
|
|
МБ просто переустанови Mysql.. И сотри всё в data
|
|
|

05.01.2010, 16:37
|
|
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме: 2603363
Репутация:
278
|
|
Сообщение от SoftLive
переустанови Mysql.. И сотри всё
SoftLive не ищет лёгких путей
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|