ФорумПрограммированиеPHP для идиотов → Виртуальное перемещение папки

Виртуальное перемещение папки

  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 16 марта 2010 г. 13:47

    В общем, есть данные:
    папка находится по адресу: /templates/folder_name
    внутри папки есть папка "css" со стилями и папка "images" с картинками дизайна

    нужно сделать так, чтоб в файле со стилями не нужны было указывать полный путь к папке "images" (по типу /templates/folder_name/images/img_1.jpg), а достаточно было бы просто указать папку с картинками и название картинки (по типу /images/img_1.jpg).

    Такая фишка реализована в ВордПрессе, но я никак не могу добраться до реализации. Нынче там все для меня настолько запутанно, что нефига толком найти не могу.

    Нужно это для того, чтоб сделать на одном пакете исполняемых файлов (то есть они будут в одном экземпляре) несколько сайтов с разными шаблонами (шаблоны будут лежать тоже в одном месте, что даст удобства в редактировании и прочем).
    п.с. Это не саттелиты-говносаписты, а просто сайты-визитки по каждому из "продуктов" компании. У всех одинаковая структура.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 16 марта 2010 г. 14:04, спустя 16 минут 43 секунды

    Givi, жжешь :-D

    хуххххахах
    Сапожник без сапог
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 16 марта 2010 г. 14:04, спустя 26 секунд

    Не совсем понял, а просто в ксс написать ../images/img_1.jpg нельзя, раз в папке folder_name папка css и images?
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 16 марта 2010 г. 14:11, спустя 6 минут 29 секунд

    я мало что понял, но:

    1) симлинки?
    2) mod_rewrite?
    3) style.css лежит в папке site.com/templates/tmpl1, в Этом style.css прописаны относительные пути: ./images/img1.png : т.е. site.com/templates/tmpl1/images.img1.png
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 16 марта 2010 г. 15:04, спустя 53 минуты 1 секунду

    возьми книгу php объекты, шаблоны и методики программирования, на96 странице вроде то что тебе нужно.
    Спустя 13 сек.
    хз, я пока не разбирался
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 16 марта 2010 г. 16:12, спустя 1 час 8 минут 14 секунд

    phpdude, таки может и жгу. Но реально другого варианта не вижу :)

    relictx, можно бы, но… читай дальше.

    Абырвалг, симлинки отпадают в силу их "хардкорности"
    с мод_реврайтом, то думал в его сторону, но не знаю все же как его сюда "прикрутить"
    а по относительным путям - трабла в том, что у меня вся обработка идет в index.php, а вот шаблоны хранятся в отдельной папке. И реально не хотелось бы давать возможность юзерам видеть откуда именно тянутся картинки в ЦССке (не показывать им реальный путь).

    Цель: скрыть пути к файлам шаблона от конечного юзера, а также когда создается шаблон, то в него (в его стилевые файлы) не нужно будет "мертво" вписывать пути к картинкам дизайна. Ну и при этом шаблонов будет порядка 10+

    Professor, спасибо. Попробую глянуть.

    п.с. Дуд редиско
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 16 марта 2010 г. 16:26, спустя 14 минут 10 секунд

    Givi, ты понял что я редиска после поста про относительные мути в ксс? :-D

    жгешь - ты же верстальщик! (если не ошибаюсь) почему этих "мелочей" не знаешь?
    Сапожник без сапог
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 16 марта 2010 г. 16:32, спустя 6 минут 5 секунд

    На движке дистанционного обучения Moodle сокрытие путей к картинкам осуществляется при помощи пхп скрипта. При просмотре свойств картинок путь выдается такой:
    http://sait.ru/file.php?/image.jpg
    Картинки хранятся в далеко запрятанной папке типа 102/104/108/image.jpg
    Если интересно, копай в эту сторону. Вообще без файла шифрования тут не обойтись.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 16 марта 2010 г. 16:37, спустя 5 минут 12 секунд

    relictx, бред)
    Спустя 17 сек.
    и их реализация идеи - гавно
    Сапожник без сапог
  • relictx

    Сообщения: 307 Репутация: N Группа: Адекваты

    Spritz 16 марта 2010 г. 16:41, спустя 3 минуты 4 секунды

    То есть по идее, в ксс ты уже указываешь такой путь: http://sait.ru/file.php?image.jpg
    В файле file.php(скрипте зашифровки) шифруешь, например, в зависимости от даты выкладки картинки путь. создается папка… Далее в нем указывается переменная, значение которой и есть путь: 102/104/108/
    Как то так, код на moodle только сам начал разбирать по кускам.
    Спустя 75 сек.

    relictx, бред)
    Спустя 17 сек.
    и их реализация идеи - гавно

    Дуд, за эти слова скажу тебе… ты ахуенен)) Нет, чесна слово. Австралийский кодер писал движок, я его ненавижу, потому что, работа связана с дистанционным обучением и нащальника от мудла отказываться не хочет(
    А код у него - ПОЛНАЯ ОПА)
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 16 марта 2010 г. 20:08, спустя 3 часа 27 минут 26 секунд


    Givi, ты понял что я редиска после поста про относительные мути в ксс? :-D

    жгешь - ты же верстальщик! (если не ошибаюсь) почему этих "мелочей" не знаешь?

    перечитал ещё раз, посмотрел в ВордПресс - понял где я лопухнулся.
    У ВП в путях к стилям видно полный путь к шаблону (если смотреть в ХТМЛ-код). У меня чего-то в голове мелькнуло что он там не указан. Отсюда у меня и проблемы с картинками: если CSS ложить в корень сайта, то подхват картинок будет только по полному пути от корня (то есть засвечу путь к шаблону), а если внутри папки с шаблонами ложить, то в стилях все ок, подхват от папки с дизайном (кстати, тут я тоже лопухнулся: папку всегда называю design, а картинки в этот раз положил в соседнюю папку images), но в ХТМЛ-коде виден путь к файлу стилей (опять "палится" путь к папке с шаблоном).
    Вот тут как раз симлинк бы помог, но это "харкордный" метод. Хотелось бы найти другие варианты.
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 16 марта 2010 г. 21:42, спустя 1 час 34 минуты 9 секунд

    ну модреврайт почти как симлинк) юзверь же ж не поймет, что часть файлов перенаправляется куда-то.
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 16 марта 2010 г. 22:29, спустя 47 минут 21 секунду

    Абырвалг, вот и возникает вопрос: что и как прописать нужно в мод_реврайт?
  • Faster

    Сообщения: 1159 Репутация: N Группа: Кто попало

    Spritz 16 марта 2010 г. 22:34, спустя 4 минуты 32 секунды

    тупо, но спрошу - а зачем скрывать стили?
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 16 марта 2010 г. 22:49, спустя 14 минут 55 секунд

    Faster, ну что бы пользователь не видел, что под разными доменами крутится один и тот же сайт, с разными дизайнами просто. Что-то типа такого

    Givi, ща подумаю
    Спустя 297 сек.
    RewriteEngine on

    # если запрашиваем картинку, css или js (они все в templates лежат)
    RewriteCond %{REQUEST_FILENAME} ^templates\/(.*)$
    # перенаправляем чувака на
    RewriteRule . ./my_hidden_folder/%{HTTP_HOST}/%{REQUEST_FILENAME} [L]



    структура папок примерно такая:


    index.php
    |-my_hidden_folder/

    –|-site1.ru/
    —-|-templates/
    ——|-file1.css

    –|-site2.ru/
    —-|-templates/
    ——|-file2.css

Пожалуйста, авторизуйтесь, чтобы написать комментарий!