| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > CodeIgniter Framework |
| Автор: taral 24.2.2008, 14:09 |
| Начал я использовать CodeIgniter для своих нужд. Но вот в чем вопрос. Где именно хранить картинки к сайту? Я их храню в: site/images но тогда доступ к ним можно осуществить только адресом вида http://site/images/картинка Что плохо. Также у меня возник вопрос, где хранить CSS стили и JavaScript приложения. Ну и наконец. Где хранить библиотеки, которые писались не для CodeIgniter. Спасибо за внимание. Если кто тоже сталкивался с этой проблемой посоветуйте. |
| Автор: GeneralElectric 24.2.2008, 16:19 |
| В смысле, адрес можно писать только в виде урла? А почему так? |
| Автор: taral 24.2.2008, 16:38 |
| Поскольку вызов всех страниц сайта осуществляется через index.php Ну по крайней мере по другому вызывать у меня не выходило. |
| Автор: GeneralElectric 24.2.2008, 17:03 |
| Странно. То есть, ты пишешь в hTML <img src="http://site/images"> и её не показывает? может быть, во что-то преорбразует её адрес? А во что тогда? |
| Автор: CyClon 24.2.2008, 17:06 |
| Адреса прописывать нада относительно корня сайта только в том случае, если весь сайт работает через страничку index.php или другие корневые файлы. Из http://example.com/tools/sniffer.php например, картинка уже не покажется. |
| Автор: taral 24.2.2008, 17:14 | ||||
Ты меня не понел. Конечно так показывает. Но использовать такой адрес мне уж очень не хочется.
Согласен. Но вот в чем дело. логически можно использовать адрес images/картинка. Поскольку index.php находится в той же папке где находится папка images. Но так у меня не вышло. Я думал может кто-то еще пользуется CodeIgniter. И хотул у него спросить в какой папке он хранит картинки и все что я спрашивал в первом коменте. |
| Автор: GeneralElectric 24.2.2008, 17:18 |
| Да при чем здесь CodeIgniter? Какая разница, где он хранит картинки? Ну научитесь, наконец, различать БРАУЗЕР и СЕРВЕР! Одному mod_rewrite мешает картинки показывать. Другому Code Igniter Вы что - правда не понимаете, что браузер не знает ничего то том, что у вас там стоит на сервере? Что с точки зрения браузера есть просто структура каталогов? taral, ты правда думаешь, что картинки у тебя CodeIgniter показывает, а не веб-сервер? |
| Автор: taral 24.2.2008, 17:46 | ||||
Откуда вы браузер взяли? Мне просто нужно использовать картинку в дизайне сайта. Вышло использовать только ссылку вида http://site/images/картинка Но ссылку такого плана ипользовать тупо. Вы сюда уже браузер приплели. Логично что если у нас в папке находится картинка и HTML файл то в HTML файле вместо полной ссылки на картинку можно просто использовать ее имя. Тоесть использовать относительный путь. В CodeIgniter относительные пути мне использовать не удалось. И я спрашиваю как можно использовать относительные пути если для создания сайта я использую фраемворк CodeIgniter. Добавлено @ 17:50
Ох. Из за CodeIgniter я не могу использовать относительные ссылки. Точнее у меня не вышло использовать относительные ссылки. Поскольку в CodeIgniter index.php подключает контроллеры которые подключают view (шаблоны). И корневой папкой стает та в которой index.php. Но почему то относительные пути использовать не удается. Тут или я не могу обьяснить в чем у меня проблема. Или вы не можете понять. |
| Автор: GeneralElectric 24.2.2008, 17:53 |
| Мы сюда браузер приплели потому, что это он запрашивает у сервера картинку. Следовательно, если html страница лежит по адресу /catalog/part/index.html, то относительный путь строится от каталога /catalog/part/ Именно поэтому надо указывать абсолютные пути. И CodeIgniter здесь не при чем. А браузер - при чем. Добавлено через 12 минут и 1 секунду В общем, так. Читаешь http://phpfaq.ru/na_tanke и http://phpfaq.ru/paths и пытаешься понять, почему лежащую в той же папке картинку запрашивать по относительному пути нелогично. |
| Автор: GeneralElectric 24.2.2008, 18:10 | ||
Это ты её не можешь понять =) В этом-то вся проблема |
| Автор: taral 24.2.2008, 18:10 | ||||
Это все понятно.
Да будет. Попробую точно сформулировать свой вопрос. CodeIgniter "говорит" мне где хранить PHP обработчики. system\application\controllers Он мне "говорит" где хранить HTML шоблоны сайта. system\application\views Он мне "Говорит" где хранить библиотеки. system\application\libraries А где хранить картинки к шаблонам, где хранить библиотеки написанные не для CodeIgniter. CodeIgniter использует особую систему подключения библиотек. Но для этого библиотека должна быть особо написана. И потому "левую" библиотеку хранить в папке system\application\libraries и подключать как другие не выйдет. Где хранить CSS стили и javascript файлы CodeIgniter ничего не говорит. Я их храню в папках images, javascript, css. И мне стало интерестно. Може лучше их хранить в других папках. Просто CodeIgniter диктует свои стандарты структуирования элементов сайта. Просто хочется все делать как было задумано а не как я придумал. Вот собственно и все. |
| Автор: GeneralElectric 24.2.2008, 18:14 |
| картинка - не библиотека. ещё раз повторяю - к картинкам, javascriptам и, css CodeIgniter не имеет отношения он их никак не использует. их запрашивает браузер. у веб-сервера. веб-сервер браузеру их отдает. CodeIgniter не при чем. ты вообще различаешь, где у тебя браузер, а где - сервер? И кто из них какую работу выполняет? Похоже, что нет |
| Автор: taral 24.2.2008, 18:34 | ||||
CodeIgniter имеет прямое отношение к структеированию элементов сайта на сервере. А картинки CSS и javascript это тоже элементы сайта. Конечно CodeIgniter с ними не взаимодействует. Но view (шаблоны) очень даже взаимодействуют. А именно возвращают ссылку браузеру где имеено та или иная CSS javascriptа и т.д. находится.
Представте себе различаю. Вот только никак не пойму чего такого вам браузер сделал. Его задача красиво показать код что ему пришел. А от того где находится картинка мне придется использовать другой относительный путь к ней. Моя задача чтобы не только в браузере все красиво показано было. Но и чтобы на сервере структуировано было. Картинки можно просто в корневой папке хранить вместе с CSS и т.д. И хорошо относительный путь короткий будет. Но почуме то никто так не делает. Не задумывались почему? |
| Автор: taral 24.2.2008, 19:04 | ||||||
Ну я так всегда и думал)
Согласен на 50% Поскольку если пишет 1 разбаротчик. Тогда проблем и правда нету. Но при работе группой. Совсем другое дело. И если себя сразу приучать использовать стандарты то потом будет намного проще.
Я и правда считаю это очень важным делом. И это часто экономило мне время в поисках ошибки. Хоть все это не имеет прямого отношения к написанному коду. Но на приктике очень важная мысль. Я думаю что вопрос решен. Точнее я не тут ответ искал. |
| Автор: StealthForce 13.3.2008, 12:26 | ||
Достаточно почитать литературу, практически в каждой книге присутствует глава(раздел), правила хорошего тона при написании скриптов, достаточно прочитать несколько изданий и вынести наиболее приемлемые. Сколько символов отступ, да хоть десять (лично я задаю 3-ри для более наглядного вида каскадов). А вообще, лично я предпочитаю сначала искать на глупые вопросы ответы через google. Надо учится избавляться от ламерства, хотя бы иметь стремление к этому. |