#1 06.04.06 15:45
PHP.время последнего доступа к файлу
Проблема: был скрипт,которые заливал картинки на сайт,но в при удаление картинки с сайта с помошью этого скрипта,картинка удалялась из базы (вернее путь до неё) но не удалялась с "диска".Кол-во картинок увеличилось,а так как место под сайт лимитировано то нужно убрать картинки,которых нет в базе.Можно было пойти "долгим" путём - получить список всех картинок которые есть на "диске" сайта,получить список всех картинок которые есть в базе,сравниаем -удаляем: жалко время:).fileatime - получает время последнего доступа к файлу,но не понимаю про какой доступ идёт речь и цифра типа 1135756009 ни о чём не говорит.Каким вы видите решение сей проблемы?
Offline
#3 06.04.06 16:19
Re: PHP.время последнего доступа к файлу
неплохо бы дописать удаление картинок
цифра - кол-во секунд, как и сказал fatboy.. форматировать можно, например как date("d.m.Y H:i:s", $cifra);
можно переименовывать файлы под единый формат (те файлы, пути к которым в БД указаны), а потом удалять все файлы, не подходящие под этот формат..
Offline
#4 06.04.06 16:25
Re: PHP.время последнего доступа к файлу
Fatboy написал(а):
iDrum написал(а):
цифра типа 1135756009 ни о чём не говорит
а цифра эта ни что иное, как время прошедшее с 00:00:00(по Гринвичу) 1 января 1970г. ... в секундах, естественно
это я знаю,вопрос откуда она берётся? Правильно ли я понял: создали файл и время пошло?а как тогда понять fileatime - получает время последнего доступа к файлу
Offline
#5 06.04.06 16:30
Re: PHP.время последнего доступа к файлу
seva написал(а):
можно переименовывать файлы под единый формат (те файлы, пути к которым в БД указаны), а потом удалять все файлы, не подходящие под этот формат..
маленький розовый слоник Зиквакпта и я много скурили,но так и не понял что ты имел ввиду
Offline
#6 06.04.06 16:32
Re: PHP.время последнего доступа к файлу
Примечание: atime файла изменяется, когда читаются блоки данных файла. Это может быть довольно затратно, если приложение регулярно выполняет доступ к большому количеству файлов и директорий. Некоторые файловые системы Unix могут монтироваться с отключенными обновлениями atime для увеличения производительности таких приложений; спулы новостей USENET - обычный пример. В таких файловых системах эта функция будет бесполезна.
Offline
#7 06.04.06 16:38
Re: PHP.время последнего доступа к файлу
iDrum написал(а):
маленький розовый слоник Зиквакпта и я много скурили,но так и не понял что ты имел ввиду
есть дохера файла на диске и нужны имена записаны в БД..
как подчистить:
считываешь имя файла из БД, добавляешь в конец какую-нибудь строку (например, "_used"), переименовываешь файл посредством rename, меняешь запись в БД.. когда закончишь пробегаешь по файлам и если strpos("_used", $filename)===false, тогда unlink($filename)..
Offline
#9 06.04.06 16:45
Re: PHP.время последнего доступа к файлу
seva написал(а):
Примечание: atime файла изменяется, когда читаются блоки данных файла. Это может быть довольно затратно, если приложение регулярно выполняет доступ к большому количеству файлов и директорий. Некоторые файловые системы Unix могут монтироваться с отключенными обновлениями atime для увеличения производительности таких приложений; спулы новостей USENET - обычный пример. В таких файловых системах эта функция будет бесполезна.
имхо если fileatime получает число - нифига не октлючено....
блин по циклу что прогнать имя файла == имя в бд,но маленький розовый слоник Зиквакпта думает что есть решение проще
Offline

