вопрос
Не могу нигде найти ответ на интересующий вопрос, точнее находил но где не могу вспомнить.
Суть в том,что есть папка upload куда грузятся файлы(изображения или аудио без разницы суть одна). Запись о файлах делается в БД. Был момент когда файлов становилось много и приходилось перекидывать на поддомен (к примеру audio.site.com). Потом некоторые файлы приходилось удалять через фтп, но записи о них остались в БД. Интересует вопрос как составить запрос правильно,чтобы удалить записи в БД, если файла нет в папке upload?
Решение которые я находил (запомнилось только одна правильная мысль в тексте) осуществить проверку по ссылке в БД и если код 404 будет выдаваться удалить запись,если 200 - искать дальше. Чтобы понимать структуру БД и расположение файлов - CMS похожа на DLE 9.8. В принципе не было бы проблем, если бы файлы лежали на основном сайте, но файлы лежат и на site.com и на audio.site.com . Записи(БД) в строке url имеют вид http://audio.site.com/upload.... ; http://site.com/upload... ; /upload/.... - т.е. три вида ссылок.Что затрудняет сделать проверку чисто по ссылке так как первые две могут выдать как код 200(если файл есть) так и код 404(если файла нет) - это норм, а вот третья ссылка будет выдать только код 404 так как ему надо прописать http://site.com . Я думаю данный код помог бы многим, так как часто такие проблемы встречаются и на DLE.
Суть в том,что есть папка upload куда грузятся файлы(изображения или аудио без разницы суть одна). Запись о файлах делается в БД. Был момент когда файлов становилось много и приходилось перекидывать на поддомен (к примеру audio.site.com). Потом некоторые файлы приходилось удалять через фтп, но записи о них остались в БД. Интересует вопрос как составить запрос правильно,чтобы удалить записи в БД, если файла нет в папке upload?
Решение которые я находил (запомнилось только одна правильная мысль в тексте) осуществить проверку по ссылке в БД и если код 404 будет выдаваться удалить запись,если 200 - искать дальше. Чтобы понимать структуру БД и расположение файлов - CMS похожа на DLE 9.8. В принципе не было бы проблем, если бы файлы лежали на основном сайте, но файлы лежат и на site.com и на audio.site.com . Записи(БД) в строке url имеют вид http://audio.site.com/upload.... ; http://site.com/upload... ; /upload/.... - т.е. три вида ссылок.Что затрудняет сделать проверку чисто по ссылке так как первые две могут выдать как код 200(если файл есть) так и код 404(если файла нет) - это норм, а вот третья ссылка будет выдать только код 404 так как ему надо прописать http://site.com . Я думаю данный код помог бы многим, так как часто такие проблемы встречаются и на DLE.
Проверьте файлы на существование с этим кодом
if (@fopen($url_audio, "r")) {
echo "good! files found";
} else {
echo "files not found :(";
}