Всем привет, пытаюсь понять как организовать следующую структуру есть корневая папка public и есть папки ядра приложения app вне корня. Все запросы идут на index.php в public автозагрузчик классов и все такое Хочу реализовать некое подобие файлового менеджера, так чтобы все файлы грузились в папку app/uploads, которая вне корня, и создать из нее simlink на папку public/uploads, наподобие как это реализовано в ларавель. И вот не могу понять по двум вопросам: где и как объявлять simlink(), в индексном файле? Надо ли как то проверять, создан ли уже симлинк или его нужно каждый раз создавать?
Корень сайта или какой-то отдельный его подкаталог или подкаталоги – это как бы и есть «uploads», если статик размещается не на др. хосте. Нафига вам еще симлинк? --- Добавлено --- Объявите константу с путем к uploads в корне, дайте разрешение на запись и желательно запретите пыху что-либо запускать из этого каталога. Можно даже фронт убрать из корня и весь корень сделать «неисполняемым». Фронт выносят в корень обычно только на шареде.
simlink вы создаете один раз. В каталоге public/uploads запускаете создание символической ссылки на app/uploads. Это файл такой создастся. Можно и руками, или в любом скрипте инициализации.
Файлы грузишь куда нужно, из PHP есть доступ к путям операционной системы. Например в app/uploads. В конфиге вебсервера настраиваешь урл (public/uploads) и физический путь (тот самый app/uploads) по которым эти файлы будут скачиваться. Симлинк не нужен.