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

Форум PHP

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

 

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

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

тема: Inlude "menu.php";
 
 автор: BossXP   (17.09.2004 в 14:37)   письмо автору
 
 

Столкнулся с такой проблемкой:
есть 2 файла(index.php и menu.php) 2 папки(Image и Novosty)
в index.php вставил такой код(меню):

<?
include "menu.php";
?>

Всте отображается отлично, решил в меню вставить еще картинки вот так:

Новости (и рядом картинка)

Все работает.
Когда так же хотел попробовать в файле indexNovosty.php(папка Novosty) обнаружил что картинки неотабражаются.
В чем проблема?

С уважением, BossXP

   
 
 автор: LimP   (17.09.2004 в 14:44)   письмо автору
 
   для: BossXP   (17.09.2004 в 14:37)
 

ты наверное файл переместил этот,а в menu.php или еще где забыл изменить путь к картинкам...

   
 
 автор: glsv (Дизайнер)   (17.09.2004 в 15:07)   письмо автору
 
   для: BossXP   (17.09.2004 в 14:37)
 

Все верно. Когда вы вставляете menu.php в index.php - у вас одни относительные пути к картинкам.
путь к картинкам: images/картинка

Если вы вставляете menu.php в Novosty/indexNovosty.php относительные пути к картинкам получаются другими.
путь к картинкам будет: ../images/картинка


Потому что сначала происходит "сборка" кода. И только потом его компиляция.

   
 
 автор: BossXP   (17.09.2004 в 16:17)   письмо автору
 
   для: glsv (Дизайнер)   (17.09.2004 в 15:07)
 

Значит придется создавать несколько menu.php?
для новостей, и т.п?.

   
 
 автор: LimP   (17.09.2004 в 16:34)   письмо автору
 
   для: BossXP   (17.09.2004 в 16:17)
 

нет,просто поставь путь к картинке не /images/1.jpg а ../images/1.jpg и делов то...

   
 
 автор: BossXP   (17.09.2004 в 17:39)   письмо автору
 
   для: LimP   (17.09.2004 в 16:34)
 

дело в том что у меня меню(menu.php) состоит из картинок, которые находятся в папке images.

И если я поставью ../images/1.jpg, то на главной странице загружаться картинки небудут.... вот в чем проблема...!

   
 
 автор: glsv (Дизайнер)   (17.09.2004 в 20:39)   письмо автору
 
   для: BossXP   (17.09.2004 в 16:17)
 

Я бы предложил создать такую структуру сайта, чтобы все страницы были на одном уровне. Например, каталоги

news
images
company
guestbook
forum


Тогда все относительные пути к картинкам имели бы значение ../images/картинка
Все было бы хорошо, но есть проблема с главной страницей. В принципе тоже можно решить. Редиректом c помощью htcccess либо редиректом с помощью Ява -скрипта пересылать на любую страницу в подкаталоге.


2 Вариант
Используйте тег base

<html>
<head>
<base href=http://www.site.ru/>
</head>

Тогда все Ваши относительные пути всегда будут отсчитываться от корня сайта. И для картинок и для ссылок.
Вообще то - это сильное решение.
Правда мне оно почему то не нравится - может и зря :)

   
 
 автор: BossXP   (18.09.2004 в 14:50)   письмо автору
 
   для: glsv (Дизайнер)   (17.09.2004 в 20:39)
 

А если документ например в папке
../Novosty/NovostyPK/PK.php

тогда как поступать с меню?? Создать аналогичное menu.php?

   
 
 автор: BossXP   (19.09.2004 в 09:52)   письмо автору
 
   для: glsv (Дизайнер)   (17.09.2004 в 20:39)
 

??

   
 
 автор: BossXP   (19.09.2004 в 13:08)   письмо автору
 
   для: glsv (Дизайнер)   (17.09.2004 в 20:39)
 

Не игнорируйте это сообщение...(срочоно надо)

Вот если у меня каталоги такие:
News
Image
Forum
Chat

путь к картинкам такой должен быть ../images/картинка, и меню(menu.php) должно быть только для этих папок

А если файл лежит в News/newsPK/pk.php
то путь такой ../../newsPK/pk.php
и придеться содавать меню(menu1.php) для ../../News/newsPK/

??

   
 
 автор: cheops   (19.09.2004 в 13:52)   письмо автору
 
   для: BossXP   (19.09.2004 в 13:08)
 

Дизайнер куда-то запропостился... попробую ответить. Если вы используете тэг base вам уже не нужны относительные пути, так как все пути будут относительно указанного в тэге base.
<html> 
<head> 
<base href=http://www.site.ru/> 
</head>

Тогда путь newsPK/pk.php эквивалентен
http://www.site.ru/newsPK/pk.php

в любой точке сайта как в корне так и в глубоко вложенной директории http://www.site.ru/newsPK/very/deep/directory/

PS Т.е. пути вида ../../dir уже не имеют смысла так как путь должен начинаться с одной из поддиректорий корневой директории (//www.site.ru/).

   
 
 автор: BossXP   (19.09.2004 в 17:46)   письмо автору
 
   для: cheops   (19.09.2004 в 13:52)
 

еще вопросик, вот если пользователь заходит в раздел новости(по ссыле New) как сделать чтобы эта ссылка исчезла , т.е. чтобы пользователь находясь на странице новостей немог еще раз загружать эту же ссылку(New)??

   
 
 автор: cheops   (19.09.2004 в 18:02)   письмо автору
 
   для: BossXP   (19.09.2004 в 17:46)
 

Если имеется меню вида
<a href=newsPK/pk.php>Новости</a><br>
<a href=ForumPK/pk.php>Новости</a><br>
<a href=ChatPK/pk.php>Новости</a><br>

То можно реорганизовать новости следующим образом:
<?php
  $news 
"/newsPK/pk.php";
  
$forum "/ForumPK/pk.php";
  
$chat "/ChatPK/pk.php";
  if(
$_SERVER['PHP_SELF'] == $news) echo "Новости<br>";
  else echo 
"<a href=".$_SERVER['SERVER']."$news>Новости</a><br>";
  if(
$_SERVER['PHP_SELF'] == $forum) echo "Форум<br>";
  else echo 
"<a href=".$_SERVER['SERVER']."$forum>Форум</a><br>";
  if(
$_SERVER['PHP_SELF'] == $chat) echo "Чат<br>";
  else echo 
"<a href=".$_SERVER['SERVER']."$chat>Чат</a><br>";
?>


PS В последнем случае даже не понадобится тэг <base>, так как каждый раз будет формироваться абсолютный URL.

   
 
 автор: glsv (Дизайнер)   (19.09.2004 в 21:29)   письмо автору
 
   для: BossXP   (19.09.2004 в 13:08)
 

Был в отъезде :)
Но вроде бы и без меня разобрались.

   
Rambler's Top100
вверх

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