А если пользователь файлы заливает свои какие-то их лучше где хранить ниже www? Такая кривая настройка довольно редкая штука, за много лет с ней не встречался ни разу, к тому же предварительно проверяешь, а от взлома или заращения php-файлов вирусами (где закодированная строка base64) это поможет уберечься?
Тогда у вас есть в БД таблица где список слов (тегов) и у важного есть id. Выбираете её всю - она в памяти в массиве, приходят новые статьи - сверяете их теги с этим массивом, если они там есть - добавляете, если нет - добавляете теги сначала, получаете их Last Insert Id и добавляете эти статьи уже с этими новыми id