Сергей Rekryt
кирилица, но смори, может оно тебе и не надо
Дмитрий
надо вот мне подумать как с архивами этими
Дмитрий
у меня они формирубтся на ходу и отдаются
Дмитрий
то есть надо создать скачать и больше они не нужны
Сергей Rekryt
$zipfile = __DIR__."/tmp/archive.zip"; тогда лучше так $zipfile = __DIR__."/tmp/archive.".microtime().".zip";
Сергей Rekryt
а unlink($zipfile); уже дропнет
Дмитрий
плюс крон который на всякий будет ходить и по времени дропать
Дмитрий
если сбой произошел
Сергей Rekryt
Сергей Rekryt
foreach(scandir("/path/to/dir") as $file) if (is_file($file)) unlink($file);
Artem
то что по умолчанию в джумла идет
Грохнуть буфер нужно полюбому. if (ob_get_level()) { ob_end_clean(); }
Сергей Rekryt
по крону не стоит так делать, это получается ты хочешь обработать случай когда скрипт создаст архив но зависнет и не удалит его? лучше сделать тут понадёжнее
Artem
Без этого джумла всё будет в память собирать
Artem
а как надежнее?
файлы блокировок =)
Vladimir
я вот одного не пойму
Vladimir
ну написан же уже этот код для радикал
Vladimir
там читается файл из одного места и отдается в браузер
Сергей Rekryt
а как надежнее?
смотря какой уровень надёжности нужен если немного надёжнее, то по временной метке в имени файла например удалять все файлы в папке кроме тех кто создан за последние 60 сек (время timeout скриптов) например
Vladimir
даты создания файла нет
Дмитрий
когда этот код запускать
Сергей Rekryt
если надо очень надёжно, то могу предложить схему ещё лучше
Дмитрий
это как бы в крон
Vladimir
а как надежнее?
если ты про дату создания файла - то для линукса только кодировать в имени
Сергей Rekryt
но это будет дольше чем по имени файла
Vladimir
filemtime или stat и в нём ctime и mtime
и они не являются датой создания файла в линуксе
Vladimir
в линуксе вообще не хранится дата создания
Сергей Rekryt
давай
делаешь сервис для запаковки архивов, отдельный процесс всегда запущенный, с которым взаимодействуешь а он асинхронно отдаёт данные
Vladimir
я уже знатно попал на этом
Сергей Rekryt
а что такое "mtime, atime и ctime"?
Дмитрий
тогда я щас сделаю не особо надежно
Дмитрий
а потом будет система очередей
Сергей Rekryt
да, очередь
Дмитрий
я ей буду ставить в очередь на удаление и все
Дмитрий
она отработает
Дмитрий
ок
Vladimir
это дата последнего доступа
Сергей Rekryt
поинтересуйся
пользуюсь mtime для проверки необходимости обновления превьюх
Vladimir
Сергей Rekryt
работает корректно
Vladimir
ошибаешься
Vladimir
у лиункса вообще не хранится дата создания файла
Vladimir
нигде
Сергей Rekryt
т.е. если я залью файл и посмотрю его stat, а потом обновлю и проверю ещё раз, я не смогу получить разный modify time?
Vladimir
изменение дескриптора файла - это не дата создания!
Vladimir
т.е. если я залью файл и посмотрю его stat, а потом обновлю и проверю ещё раз, я не смогу получить разный modify time?
если какой то скрипт в этот промежуток обратится к файлам - stat будет неверный
Vladimir
еще раз - я уже накололся на этом очень сильно
Vladimir
но ты можешь думать что все ок
Vladimir
и оно будет ок, пока какой то скрипт не пройдется по файлам
Vladimir
например - архивация
Vladimir
https://www.linux.org.ru/forum/general/4280217
Vladimir
Сергей Rekryt
я говорил про дату модификации, а вы про создание, не совсем заметил не знаю на счёт именно даты создания подробностей её обновления, но тезис интересный, надо будет посмотреть
Vladimir
даты создания нет
Vladimir
дата модификации не интересна никак
Сергей Rekryt
тут проверка на дату модификации подойдёт отлично
Vladimir
тут проверка на дату модификации подойдёт отлично
откуда ты знаешь - кто модифицировал?
Сергей Rekryt
потому что нам какраз надо удалить то что давно было модифицировано
Сергей Rekryt
у нас деклалирована папка в которой модифицирует только один скрипт
Vladimir
у меня так файлы в радикал накапливались
Vladimir
а линукс? например архивация сайта?
Сергей Rekryt
пусть работает
Сергей Rekryt
пройдёт 60 сек и всё удалится
Vladimir
пусть работает
оно изменит метадату