$files = explode("\r\n", $line['Звуковые исходники']); // разбиваем список файлов в массив
foreach ($files as $file) // цикл по полученному массиву
{
$path = get_file_path(1208, $ID, $file); // получаем путь к текущему файлу
// Удаление файлов
if (unlink($path))
{ echo "Файл удален"; }
else
{ echo "Ошибка при удалении файла ".$path; }
}
$line['Звуковые исходники'] = "";
#1
Отправлено 16 Январь 2015 - 16:22
#2
Отправлено 16 Январь 2015 - 17:01
Андрей Гуляев (16 Январь 2015 - 16:22) писал:
$files = explode("\r\n", $line['Звуковые исходники']); // разбиваем список файлов в массив
foreach ($files as $file) // цикл по полученному массиву
{
$path = get_file_path(1208, $ID, $file); // получаем путь к текущему файлу
// Удаление файлов
if (unlink($path))
{ echo "Файл удален"; }
else
{ echo "Ошибка при удалении файла ".$path; }
}
$line['Звуковые исходники'] = "";
// Удалить файл, автоматически будет удален каталог, если он окажется пуст
function drop_data_file($field_id,$line_id,$fname)
В цикле foreach удаляете все, что нужно с помощью этой функции
Сообщение отредактировал maksn: 16 Январь 2015 - 19:35
#3
Отправлено 17 Январь 2015 - 05:45
#4
Отправлено 17 Январь 2015 - 13:05
Андрей Гуляев (17 Январь 2015 - 05:45) писал:
Тогда скорее всего баг - запрос в тех поддержку
#5
Отправлено 17 Январь 2015 - 17:38
#6
Отправлено 17 Январь 2015 - 22:04
Андрей Гуляев (17 Январь 2015 - 17:38) писал:
Вообще то информация о прикрепленных файлах пишется в ту же таблицу. У вас это поле f1208 в записи с нужным ID.
Посмотрите у себя таблицу - в поле f1208 должно быть пусто после удаления. Если нет, сделайте update и потом посмотрите что покажет статистика
Сообщение отредактировал maksn: 18 Январь 2015 - 18:10
#7
Отправлено 20 Январь 2015 - 11:50
Цитата
1. Количество файлов берется непосредственно из поля с файлами, где хранятся только имена файлов через перевод строки.
2. Размер же берется из папки с файлами на хосте, где они собственно и хранятся.
Функция drop_data_file удаляет только сам файл из папки, она не чистит поле. Поэтому без чистки поля будут "файлы с 0 байт". Собственно maksn уже все пояснил.
#8
Отправлено 20 Январь 2015 - 12:27
#9
Отправлено 20 Январь 2015 - 12:30
$line['Звуковые исходники'] = ""; не достаточно? это как раз поле f1208
#10
Отправлено 20 Январь 2015 - 12:32
#11
Отправлено 20 Январь 2015 - 15:06
maksn (17 Январь 2015 - 13:05) писал:
И если это баг, то по нему ТП должна выставить задание программистам, а не на форум отсылать. Так что никакого "loop".
Подозреваю, что в статистике просто пустое поле считается за "файл". Так что нет там файлов у вас, зря доверяете статистике.
#12
Отправлено 20 Январь 2015 - 16:10
#13
Отправлено 20 Январь 2015 - 17:45
#14
Отправлено 21 Январь 2015 - 19:13
#16
Отправлено 22 Январь 2015 - 16:17
Количество пользователей, читающих эту тему: 6
0 пользователей, 6 гостей, 0 анонимных













