так
$open = opendir($dir);
while($file = readdir($open))
unlink($dir . $file);
удаляет все, нужно только определенный файл

Спустя 52 минуты, 15 секунд (22.02.2010 - 17:09) japanxt2 написал(а):
побольше информации уважаемый!!!
Спустя 5 минут, 56 секунд (22.02.2010 - 17:15) Lenarfate написал(а):
куда подробнее?)) есть фотогалерея. фотки хранятся в папке. при нажатии на определенную фотку, она должна удаляться из папки. вот. запутался, не выходит ни фига(
Спустя 12 минут, 13 секунд (22.02.2010 - 17:27) Lenarfate написал(а):
все умерли что ли?

Спустя 5 часов, 38 минут, 43 секунды (22.02.2010 - 23:06) sergeiss написал(а):
А я не понял - как именно ты указываешь фотку, которую удалять? Вводится ее имя, или делается выбор через чек-бокс, или из списка выбор?
Спустя 19 минут, 33 секунды (22.02.2010 - 23:26) Lenarfate написал(а):
чекбоксом выбор делаю
Спустя 23 минуты, 26 секунд (22.02.2010 - 23:49) sergeiss написал(а):
Уже лучше
Хоть что-то ты "прояснил" для местного телепатического общества 
А передача параметров с формы идет как: через GET или POST?


А передача параметров с формы идет как: через GET или POST?
Спустя 13 минут, 34 секунды (23.02.2010 - 00:03) Lenarfate написал(а):
через post.
а насчет
а насчет
Цитата |
Хоть что-то ты "прояснил" для местного телепатического общества |
я написал еще сначала
Цитата |
который выбирается чекбоксом |


Спустя 3 минуты, 44 секунды (23.02.2010 - 00:06) sergeiss написал(а):
ОК, пусть чек-бокс будет. Уже это понятно 
Но лучше всего покажи свой код, иначе будет "гадание на кофейной гуще". И мне, как и другим людям, просто не интересно задавать кучу вопросов. Зачем, вобщем-то? Это же тебе нужно, а не кому-то еще
Вот ты и озаботься, чтобы вопрос грамотно задать.
Типа того: вот мой код (в разумных пределах, не надо "портянок"!), вот тут понятно, а вот тут делает не то, что я хочу (как вариант, тут не знаю, как сделать). Ну, и так далее.

Но лучше всего покажи свой код, иначе будет "гадание на кофейной гуще". И мне, как и другим людям, просто не интересно задавать кучу вопросов. Зачем, вобщем-то? Это же тебе нужно, а не кому-то еще

Типа того: вот мой код (в разумных пределах, не надо "портянок"!), вот тут понятно, а вот тут делает не то, что я хочу (как вариант, тут не знаю, как сделать). Ну, и так далее.
Спустя 8 минут, 55 секунд (23.02.2010 - 00:15) twin написал(а):
да всё он показал...
конечно все удалит... а условие где?
думаем в этом направлении
$open = opendir($dir);
while($file = readdir($open))
unlink($dir . $file);
конечно все удалит... а условие где?
$open = opendir($dir);
while($file = readdir($open))
if($file == $_POST['file'])
unlink($dir . $file);
думаем в этом направлении
Спустя 6 минут, 3 секунды (23.02.2010 - 00:21) japanxt2 написал(а):
twin,
как элементарно и как логично, вы сам мозггг


Спустя 1 минута, 8 секунд (23.02.2010 - 00:22) sergeiss написал(а):
Цитата (twin @ 23.02.2010 - 01:15) |
да всё он показал... |
Да вот и фигня, что не всё

Спустя 7 минут, 49 секунд (23.02.2010 - 00:30) Lenarfate написал(а):
в чекбоксе имя = form[array1][]
Спустя 35 минут, 10 секунд (23.02.2010 - 01:05) twin написал(а):
sergeiss
Цитата |
Да вот и фигня, что не всё |
Факт... Но направление то можно задать из имеющихся условий.

Спустя 10 дней, 21 час, 2 секунды (3.03.2010 - 22:05) Lenarfate написал(а):
в общем, так и не получается.
в $POST['array1'] передаются отмеченные чекбоксы. файлы ни фига не удаляются
$open = opendir(ROOT .'/uploads/');
while($file = readdir($open))
{
if($file == $POST['array1'])
unlink($open . $file);
}
в $POST['array1'] передаются отмеченные чекбоксы. файлы ни фига не удаляются

Спустя 2 дня, 20 часов, 38 минут, 39 секунд (6.03.2010 - 18:44) Lenarfate написал(а):
????
Спустя 19 минут, 4 секунды (6.03.2010 - 19:03) eLuge написал(а):
Lenarfate
вам не смогут помочь. Никто не знает какое значение Вы передаёте в чекбоксах, как хранятся файлы и т.д. и т.п.
Допустим, информация о файле хранится в БД. Пользователь видит картинки и чекбоксы, передающие id записи об этом файле. Принимаете из пост массив отмеченных чекбоксов, циклом проходите по нему и, если файл существует, то удаляете его и запись в базе.
вот это само по себе очень страшно
вам не смогут помочь. Никто не знает какое значение Вы передаёте в чекбоксах, как хранятся файлы и т.д. и т.п.
Допустим, информация о файле хранится в БД. Пользователь видит картинки и чекбоксы, передающие id записи об этом файле. Принимаете из пост массив отмеченных чекбоксов, циклом проходите по нему и, если файл существует, то удаляете его и запись в базе.
вот это само по себе очень страшно

$open = opendir(ROOT .'/uploads/');Для чего сканировать весь каталог чтобы удалить файл?
while($file = readdir($open))
{
if($file == $POST['array1'])
unlink($open . $file);
}
Спустя 11 минут, 14 секунд (6.03.2010 - 19:14) Lenarfate написал(а):
что-то типа
??
$take = count($POST['array1']);
for($i = 0; $i < $take; $i++)
{
if(file_exists(ROOT .'/uploads/'. $take[$i]))
{
unlink(ROOT .'/uploads/'. $take[$i]);
}
}
??
Спустя 19 минут, 22 секунды (6.03.2010 - 19:34) eLuge написал(а):
бр.
как-нибудь так. Поправьте для своего варианта
logError() — просто логирование ошибок, если не нужна — выбросьте
как-нибудь так. Поправьте для своего варианта
if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST') {
// возможно мы по посту делаем что-то ещё…
if (isset($_POST['array1']) && !empty($_POST['array1'])) {
clearstatcache();
foreach ($_POST['array1'] as $v) {
$file = ROOT . '/uploads/'. $v;
if (file_exists($file)) {
if (!unlink($file)) {
logError('fail delete', $file);
}
} else {
logError('file not found', $file);
}
}
}
}
logError() — просто логирование ошибок, если не нужна — выбросьте
Спустя 5 минут, 25 секунд (6.03.2010 - 19:39) Lenarfate написал(а):
не, не пашет
Спустя 10 минут, 27 секунд (6.03.2010 - 19:50) eLuge написал(а):
оно и не должно работать без понимания что просходит
скрипт удаления файлов, когда имена файлов приходят как value из чекбоксов я тебе дал. А напильником можно поработать и самостоятельно. Верно?
скрипт удаления файлов, когда имена файлов приходят как value из чекбоксов я тебе дал. А напильником можно поработать и самостоятельно. Верно?
Спустя 4 минуты, 41 секунда (6.03.2010 - 19:54) Lenarfate написал(а):
в чекбоксах ИД
Спустя 1 минута, 27 секунд (6.03.2010 - 19:56) eLuge написал(а):
id записей в базе? И там же имя файла?
Спустя 1 минута, 32 секунды (6.03.2010 - 19:57) Lenarfate написал(а):
да
Спустя 13 минут, 7 секунд (6.03.2010 - 20:10) eLuge написал(а):
ну, так
<?phpпопробуйте сами разобраться
if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST') {
if (isset($_POST['array1']) && !empty($_POST['array1'])) {
foreach ($_POST['array1'] as $k => $v) {
$_POST['array1'][$k] = (int)$v;
}
$where = implode(',', $_POST['array1']);
// имена под себя поправьте
$sql = 'SELECT filename FROM таблица WHERE id IN ('.$where.')';
$res = mysql_query($sql);
clearstatcache();
while ($row = mysql_fetch_assoc($res)) {
$file = ROOT . '/uploads/'. $row['filename'];
if (file_exists($file)) {
if (unlink($file)) {
$sql = 'DELETE FROM таблица WHERE id IN ('.$where.')';
mysql_query($sql);
} else {
logError('fail delete', $file);
}
} else {
logError('file not found', $file);
}
}
}
}
?>
Спустя 1 час, 50 минут, 21 секунда (6.03.2010 - 22:01) Lenarfate написал(а):
спасибо)