За последние 24 часа нас посетили 16572 программиста и 1628 роботов. Сейчас ищет 1391 программист ...

Как использовать simlink в простейшем MVC приложении?

Тема в разделе "PHP для новичков", создана пользователем Volonter, 24 окт 2024.

  1. Volonter

    Volonter Активный пользователь

    С нами с:
    8 авг 2009
    Сообщения:
    68
    Симпатии:
    0
    Адрес:
    Москва
    Всем привет, пытаюсь понять как организовать следующую структуру
    есть корневая папка public
    и есть папки ядра приложения app вне корня. Все запросы идут на index.php в public
    автозагрузчик классов и все такое
    Хочу реализовать некое подобие файлового менеджера, так чтобы все файлы грузились в папку app/uploads, которая вне корня, и создать из нее simlink на папку public/uploads, наподобие как это реализовано в ларавель.
    И вот не могу понять по двум вопросам:
    где и как объявлять simlink(), в индексном файле? Надо ли как то проверять, создан ли уже симлинк или его нужно каждый раз создавать?
     
  2. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.828
    Симпатии:
    651
    Корень сайта или какой-то отдельный его подкаталог или подкаталоги – это как бы и есть «uploads», если статик размещается не на др. хосте. Нафига вам еще симлинк?
    --- Добавлено ---
    Объявите константу с путем к uploads в корне, дайте разрешение на запись и желательно запретите пыху что-либо запускать из этого каталога. Можно даже фронт убрать из корня и весь корень сделать «неисполняемым». Фронт выносят в корень обычно только на шареде.
     
  3. Дюран

    Дюран Активный пользователь

    С нами с:
    9 мар 2018
    Сообщения:
    284
    Симпатии:
    21
    simlink вы создаете один раз.
    В каталоге public/uploads запускаете создание символической ссылки на app/uploads.
    Это файл такой создастся. Можно и руками, или в любом скрипте инициализации.
     
  4. amberson

    amberson Активный пользователь

    С нами с:
    23 июл 2020
    Сообщения:
    65
    Симпатии:
    16
    Файлы грузишь куда нужно, из PHP есть доступ к путям операционной системы. Например в app/uploads. В конфиге вебсервера настраиваешь урл (public/uploads) и физический путь (тот самый app/uploads) по которым эти файлы будут скачиваться. Симлинк не нужен.
     
    #4 amberson, 26 окт 2024
    Последнее редактирование: 26 окт 2024