Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема с include
 
 автор: Football   (14.08.2005 в 21:11)   письмо автору
 
 

В общем возникла следующая проблема. У меня навигация вставляется includ'ом. Файл с навигацией находиться в корневом каталоге. Картинки находяться по адресу /images, оттуда беруться картинки с навигацией
Вся проблема в том, что у меня всё расформерованно по папкам, и если скажем из папки /php вызвать страницу с навигацией путём include ("../navigation.php"); то пропадают картинки.
Посмотрел по "свойству рисунка", он ищёт их в папке PHP, и пишет вот такой путь "php/images/"! Но они находяться то в каталоге ../php/images. Видимо это из-за того, чт овызывается инклудом, а там путь к файлам такой: "/images/".
Решил эту проблему дублированием файла навигации, но не хотелось бы это делать для каждой папки, много лишних файлов получиться. Можно эту проблему решить как то по другому?

   
 
 автор: [CHOL]Scorpion   (14.08.2005 в 21:47)   письмо автору
 
   для: Football   (14.08.2005 в 21:11)
 

Вопервых, перед дирректорией в html соде никогда не пиши /
Во вторых, елси у тебя кратинки не на 1, а на 2 уровня выше, кто мешает поставить не ../ а ../../ в пути к кртинке?

   
 
 автор: Football   (15.08.2005 в 10:23)   письмо автору
 
   для: [CHOL]Scorpion   (14.08.2005 в 21:47)
 

Так если я поставлю на два уровня выше, то уже на главной странице они отображаться не будут, так как там онибнаходяться по пути в /images!!!

   
 
 автор: Atom   (15.08.2005 в 12:40)   письмо автору
 
   для: Football   (15.08.2005 в 10:23)
 

А что Вам мешает указать прямые пути к картинкам?

   
 
 автор: XPraptor   (15.08.2005 в 13:21)   письмо автору
 
   для: Atom   (15.08.2005 в 12:40)
 

Прямые лучше никогда не юзать, а то потом изменять замучаешся. А в навигации лучше использовать глобальную переменную, которая хранит абсолютный путь к папке с картинками и устанавливать эту переменную на старте любого файла, тогда все пути к картинкам нужно будет писать как:
<?php print $global_img_path; ?>img1.gif

   
 
 автор: Atom   (15.08.2005 в 13:41)   письмо автору
 
   для: XPraptor   (15.08.2005 в 13:21)
 

А зачем их изменять?

   
 
 автор: XPraptor   (15.08.2005 в 13:51)   письмо автору
 
   для: Atom   (15.08.2005 в 13:41)
 

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

   
 
 автор: Football   (15.08.2005 в 18:02)   письмо автору
 
   для: XPraptor   (15.08.2005 в 13:51)
 

Спасибо всем, буду пробовать

   
 
 автор: Drago   (15.08.2005 в 22:21)   письмо автору
 
   для: Football   (15.08.2005 в 18:02)
 

Не совсем в тему, но у меня похожая проблема.
Через функцию file(), открываю файл, который находиться на уровень выше, вот так:

<?
$c
=file("../file.php");  // 49-я строка
?>

Но выдаеться ошибка:
Warning: file(../file.php): failed to open stream: No such file or directory in z:\home\127.0.0.1\www\site\dir\main.php on line 49
Вопрос почему, и как это исправить?

   
 
 автор: method   (15.08.2005 в 23:40)   письмо автору
 
   для: Drago   (15.08.2005 в 22:21)
 

ну вот смотри, если ты инклудишь к примеру файл config.php ,
в котором при каком_нить условии подключается ещё какой_нить файл
который лежит в одной папке с ним, ну так вот, путь будет не
include("какой_нить файл");
а include("data/папка/какой_нить файл");
всё делается относительно того файла который подключает
файлы, а не относительно подключаемых файлов....

   
 
 автор: cheops   (16.08.2005 в 01:28)   письмо автору
 
   для: Drago   (15.08.2005 в 22:21)
 

А файл file.php точно ровно на уровень выше, а не находится в какой-то другой директории?

   
 
 автор: Drago   (16.08.2005 в 02:00)   письмо автору
 
   для: cheops   (16.08.2005 в 01:28)
 

Вообще да, но я уже разобрался. :) Я просто забыл, что эта страница инклудиться в страницу, которая находиться на одном уровне с file.php.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования