Как без цикла сделать действие после появления файла в директории?
Как всегда - вопрос 100% "ниачем"... 
Во первых - зачем? Явно вы пытаетесь решить какую-то типичную задачу чисто вашими "воображаемо-оптимальными" способами, вместо того чтобы четко сформулировать реальную задачу.
Во вторых - именно озвученный функционал на php делать глупо. Это не его задача и специфика. Обычно это решают средствами ОС.
В третьих - никак, можно конечно запустить рекурсивно функцию с проверкой наличия файла в папке, но по сути это будет тот же вечный цикл с выходом по условию, только описанный в функциональном стиле. 

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

1. Идём гуглим, что такое события в программировании...
2. При каждом добавлении/удалении "генерируем" и "слушаем" эти события;
3. Выполняем какое-то требуемое действие после этого события.