Перейти к содержимому


Удаление файла через вычисление

файл удаление

Сообщений в теме: 15

#1 Андрей Гуляев

    Активный участник

  • Пользователи
  • PipPipPip
  • 94 сообщений
  • Пол:Мужчина

Отправлено 16 Январь 2015 - 16:22

Создал доп. действие вот с таким кодом. Записываю в $line['Звуковые исходники'] = ""; но наверное это не правильно. Как симулировать правильное удаление файла? Файлы удаляються всё работает на ура, но статистика показывает не верные данные. Скриншот прилагаю. Что нужно записывать в $line['Звуковые исходники']?

$files = explode("\r\n", $line['Звуковые исходники']); // разбиваем список файлов в массив
foreach ($files as $file) // цикл по полученному массиву
{
$path = get_file_path(1208, $ID, $file); // получаем путь к текущему файлу
// Удаление файлов
if (unlink($path))
{ echo "Файл удален"; }
else
{ echo "Ошибка при удалении файла ".$path; }
}
$line['Звуковые исходники'] = "";

Прикрепленные изображения

  • Прикрепленное изображение: files.jpg


#2 maksn

    Активный участник

  • Пользователи
  • PipPipPip
  • 314 сообщений
  • Пол:Мужчина

Отправлено 16 Январь 2015 - 17:01

Просмотр сообщенияАндрей Гуляев (16 Январь 2015 - 16:22) писал:

Создал доп. действие вот с таким кодом. Записываю в $line['Звуковые исходники'] = ""; но наверное это не правильно. Как симулировать правильное удаление файла? Файлы удаляються всё работает на ура, но статистика показывает не верные данные. Скриншот прилагаю. Что нужно записывать в $line['Звуковые исходники']?

$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

"...Сижу, паяю. CRM починяю..."
Мои разработки

#3 Андрей Гуляев

    Активный участник

  • Пользователи
  • PipPipPip
  • 94 сообщений
  • Пол:Мужчина

Отправлено 17 Январь 2015 - 05:45

Эффект тот же самый статистика продолжает писать кол-во файлов и размер 0кб. Как думает статистика? Где она берет данные о этих файлах? Как показывает практика всё нужно делать правильно иначе жди беды в следующих версиях.

#4 maksn

    Активный участник

  • Пользователи
  • PipPipPip
  • 314 сообщений
  • Пол:Мужчина

Отправлено 17 Январь 2015 - 13:05

Просмотр сообщенияАндрей Гуляев (17 Январь 2015 - 05:45) писал:

Эффект тот же самый статистика продолжает писать кол-во файлов и размер 0кб. Как думает статистика? Где она берет данные о этих файлах? Как показывает практика всё нужно делать правильно иначе жди беды в следующих версиях.

Тогда скорее всего баг - запрос в тех поддержку
"...Сижу, паяю. CRM починяю..."
Мои разработки

#5 Андрей Гуляев

    Активный участник

  • Пользователи
  • PipPipPip
  • 94 сообщений
  • Пол:Мужчина

Отправлено 17 Январь 2015 - 17:38

Меня в поддержке отправили на форум, С форума в заявку. Loop?))) Заявка #9138 Статус заявки: В работе Дата заявки: 14.01.2015 12:17

#6 maksn

    Активный участник

  • Пользователи
  • PipPipPip
  • 314 сообщений
  • Пол:Мужчина

Отправлено 17 Январь 2015 - 22:04

Просмотр сообщенияАндрей Гуляев (17 Январь 2015 - 17:38) писал:

Меня в поддержке отправили на форум, С форума в заявку. Loop?))) Заявка #9138 Статус заявки: В работе Дата заявки: 14.01.2015 12:17
Хм.. Посмотрел внимательно код этой функции. Таблицу она не чистит. Просто тупо удаляет файл :(

Вообще то информация о прикрепленных файлах пишется в ту же таблицу. У вас это поле f1208 в записи с нужным ID.
Посмотрите у себя таблицу - в поле f1208 должно быть пусто после удаления. Если нет, сделайте update и потом посмотрите что покажет статистика

Сообщение отредактировал maksn: 18 Январь 2015 - 18:10

"...Сижу, паяю. CRM починяю..."
Мои разработки

#7 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 20 Январь 2015 - 11:50

Цитата

Как думает статистика? Где она берет данные о этих файлах?

1. Количество файлов берется непосредственно из поля с файлами, где хранятся только имена файлов через перевод строки.
2. Размер же берется из папки с файлами на хосте, где они собственно и хранятся.

Функция drop_data_file удаляет только сам файл из папки, она не чистит поле. Поэтому без чистки поля будут "файлы с 0 байт". Собственно maksn уже все пояснил.

#8 Андрей Гуляев

    Активный участник

  • Пользователи
  • PipPipPip
  • 94 сообщений
  • Пол:Мужчина

Отправлено 20 Январь 2015 - 12:27

Там пусто как и в других полях в которых нет прикрепленных файлов. Это я в первую очередь проверил.

#9 Андрей Гуляев

    Активный участник

  • Пользователи
  • PipPipPip
  • 94 сообщений
  • Пол:Мужчина

Отправлено 20 Январь 2015 - 12:30

Что такое update? Как его сделать?
$line['Звуковые исходники'] = ""; не достаточно? это как раз поле f1208

#10 Андрей Гуляев

    Активный участник

  • Пользователи
  • PipPipPip
  • 94 сообщений
  • Пол:Мужчина

Отправлено 20 Январь 2015 - 12:32

После моего вычисления в доп меню "Потерянные файлы" нет потерянных файлов, всё ровно их нет и в базе и на диске, но в статистике всё как на скриншоте.

#11 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 20 Январь 2015 - 15:06

Просмотр сообщенияmaksn (17 Январь 2015 - 13:05) писал:

Тогда скорее всего баг - запрос в тех поддержку

И если это баг, то по нему ТП должна выставить задание программистам, а не на форум отсылать. Так что никакого "loop".


Подозреваю, что в статистике просто пустое поле считается за "файл". Так что нет там файлов у вас, зря доверяете статистике.

#12 Андрей Гуляев

    Активный участник

  • Пользователи
  • PipPipPip
  • 94 сообщений
  • Пол:Мужчина

Отправлено 20 Январь 2015 - 16:10

Файлов нет факт, просто я подозреваю что баг со статистикой. Второй вариант это то что в поле вместо файла нужно писать что-то другое не "" а например null Хотел сделать всё правильно, по этому и открыл тему.

#13 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 20 Январь 2015 - 17:45

Значения null в КБ не используются, они равнозначны пустой строке.

#14 Андрей Гуляев

    Активный участник

  • Пользователи
  • PipPipPip
  • 94 сообщений
  • Пол:Мужчина

Отправлено 21 Январь 2015 - 19:13

Тогда это баг, повесить его в баг трекер?

#15 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 22 Январь 2015 - 09:08

Просмотр сообщенияАндрей Гуляев (21 Январь 2015 - 19:13) писал:

Тогда это баг, повесить его в баг трекер?

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

#16 Андрей Гуляев

    Активный участник

  • Пользователи
  • PipPipPip
  • 94 сообщений
  • Пол:Мужчина

Отправлено 22 Январь 2015 - 16:17

Заявка #9138. А баг трекер жив недавно исправили баг с мобильными приложениями, за что огромное спасибо!





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных