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

Форум PHP

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

 

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

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

тема: Организация динамических мета-тегов
 
 автор: provodnik   (15.06.2007 в 15:25)   письмо автору
 
 

Доброго времени суток.
Ситуация следующая:
на главной странице поддоменов в начале имеется код:

<?
$title 
"Название поддомена";
$keywords "ключевые слова для поддомена";
$description "Описание для поддомена";
include(
"http://www.site.ru/top_for_subdomen.inc.php");
?>


И в файле top_for_subdomen.inc.php имеется следующий код:

<title>
<? if(isset($title)) echo $title; else echo "Название по дефолту"?>
</title>
<meta name="keywords" content="<? if(isset($keywords)) echo $keywords; else echo "Ключевые слова по дефолту"?>">
<meta name="description" content="<? if(isset($description)) echo $description; else echo "Описание по дефолту"?>">

И никак не получается вставить нужные описания. И всегда выскакивает "по дефолту"
Есть какие либо мысли?
Спасибо...

   
 
 автор: Unkind   (15.06.2007 в 15:32)   письмо автору
 
   для: provodnik   (15.06.2007 в 15:25)
 

Подключать файл нужно так:


<?php
include($_SERVER["DOCUMENT_ROOT"] . "/top_for_subdomen.inc.php");
?>

   
 
 автор: provodnik   (18.06.2007 в 09:51)   письмо автору
 
   для: Unkind   (15.06.2007 в 15:32)
 

К сожалению $_SERVER["DOCUMENT_ROOT указывает на папку сабдомена.
А ситуация обстоит так: Этот код
<? 
$title 
"Название поддомена"
$keywords "ключевые слова для поддомена"
$description "Описание для поддомена"
include(
"http://www.site.ru/top_for_subdomen.inc.php"); 
?>

стоит в файле сабдомена - http://www.subdomain.site.ru/index.php.
А подключать требуется файл из папки основного сайта http://www.site.ru/.

Прошу совета...
Заранее спасибо...

   
 
 автор: CrazyAngel   (18.06.2007 в 09:55)   письмо автору
 
   для: provodnik   (18.06.2007 в 09:51)
 

http:// - так у вас не получится подключить скрипт, вы инклюдите уже выполнившийся скрипт

   
 
 автор: provodnik   (18.06.2007 в 09:57)   письмо автору
 
   для: CrazyAngel   (18.06.2007 в 09:55)
 

Тестирую на Денвере. И без http:// появляются Warningи... И соответственно файл вообще не подключается...
Посоветуйте как поступить?
Спасибо...

   
 
 автор: Trianon   (18.06.2007 в 10:03)   письмо автору
 
   для: provodnik   (15.06.2007 в 15:25)
 

Никогда вот так
include("http://
так не пишите.

А тому, кто научил Вас так писать - при оказии набейте лицо.

   
 
 автор: provodnik   (18.06.2007 в 10:08)   письмо автору
 
   для: Trianon   (18.06.2007 в 10:03)
 

>Никогда вот так
include("http://
так не пишите.

Учту.

Ну а поступить то мне как? Посоветуйте...
Спасибо...

   
 
 автор: Trianon   (18.06.2007 в 10:10)   письмо автору
 
   для: provodnik   (18.06.2007 в 10:08)
 

Указывайте в операторе include имя подключаемого файла.
То, что Вы указали - URL-ссылка на документ в интернете.

>К сожалению $_SERVER["DOCUMENT_ROOT указывает на папку сабдомена.

Враки.
$_SERVER["DOCUMENT_ROOT'] всегда указывает на каталог корня дерева документов виртуального сервера, к которому произошло обращение.

   
 
 автор: provodnik   (18.06.2007 в 10:17)   письмо автору
 
   для: Trianon   (18.06.2007 в 10:10)
 

>Враки.
>$_SERVER["DOCUMENT_ROOT'] всегда указывает на каталог корня дерева документов виртуального сервера, к которому произошло обращение.

Код

echo $_SERVER['DOCUMENT_ROOT'];
, расположенный в начале файла http://subdomain.site.ru/index.php, при тестировании на Денвере выводит z:/home/site.ru/subdomain
А мне бы оочень хотелось подключить файл, находящийся по пути z:/home/site.ru/top_for_subdomen.inc.php

   
 
 автор: Trianon   (18.06.2007 в 10:28)   письмо автору
 
   для: provodnik   (18.06.2007 в 10:17)
 

>Код echo $_SERVER['DOCUMENT_ROOT']; расположенный в начале файла http://subdomain.site.ru/index.php, при тестировании на Денвере выводит z:/home/site.ru/subdomain

http://subdomain.site.ru/index.php - это http-документ.
z:/home/site.ru/subdomain/index.php - это файл.
Вы действительно не чувствуете разницу?

>А мне бы оочень хотелось подключить файл, находящийся по пути z:/home/site.ru/top_for_subdomen.inc.php

Эти документы размещены на разных серверах.
Иногда стоит ограничивать себя в желаниях.

Может быть стоит честной файловой функцией (fopen или file или file_get_contents) честно прочесть данные из файла, если это Ваш собственный сервер?
А даже и из документа - всяко будет аккуратнее и безопаснее.

   
 
 автор: provodnik   (18.06.2007 в 10:44)   письмо автору
 
   для: Trianon   (18.06.2007 в 10:28)
 

Давайте я расскажу чего добиваюсь:
Есть "головной" сайт. И есть бооольшая кучка сабдоменов на этом сайте. Абсолютно разных по тематике и принадлежащие разным людям.
Требуется "присокуплять" к этим сабдоменам общие "шапку" и "подвал" головного сайта, расположеные в директории того же головного сайта, одновременно генерируя динамические мета-тэги, исходя из контента сабдомена.

Раньше это всё организовывалось так, как в моем первом посте. Всё устраивало и работало, за исключением титлов и мета-тэгов.

Уважаемый Trianon. Хочется спроситьсовета, как поступить, как это реализовать.
Хочется узнать, как бы Вы поступили в данной ситуации...

Заранее спасибо...
Виталий...

   
 
 автор: Trianon   (18.06.2007 в 11:58)   письмо автору
 
   для: provodnik   (18.06.2007 в 10:44)
 

процессы сабдоменов имеют php-доступ на чтение и исполнение к скриптам в каком-либо для всех них общем каталоге?

Если да:
Разместите там код, создающий шапку. Подключайте его функцией require_once() или на самый худой конец - include()
Создайте правила формирования страниц (с учетом этого кода) авторами контента субдоменов.... вроде как всё.

Если нет:
Придумайте формат файла описания поддомена, который бы включал отличительные особенности каждого из поддоменов. Напишите код, читающий такие файлы и создающий шапку. Создайте правила формирования таких файлов в поддоменах и правила включения этого кода в страницы поддоменов авторами их контента ....

вроде как всё.

   
 
 автор: CrazyAngel   (18.06.2007 в 10:42)   письмо автору
 
   для: provodnik   (18.06.2007 в 10:17)
 

создайте символическую связь для нужного каталога


хм... а если погрубому?

<?php
include($_SERVER['DOCUMENT_ROOT']."/../top_for_subdomen.inc.php");
?>

   
 
 автор: provodnik   (18.06.2007 в 10:46)   письмо автору
 
   для: CrazyAngel   (18.06.2007 в 10:42)
 

:)... По моему ересь получилась...

   
 
 автор: CrazyAngel   (18.06.2007 в 13:09)   письмо автору
 
   для: provodnik   (18.06.2007 в 10:46)
 

почему?
можно сделать папку, которая будет общей для всех сайтов и в ней хранить этот обработчик

   
 
 автор: Unkind   (18.06.2007 в 13:13)   письмо автору
 
   для: CrazyAngel   (18.06.2007 в 13:09)
 

почему?
А потому что $_SERVER['DOCUMENT_ROOT'] - абсолютный путь. Вы же пытаетесь его совместить с относительным.

   
 
 автор: CrazyAngel   (18.06.2007 в 13:16)   письмо автору
 
   для: Unkind   (18.06.2007 в 13:13)
 

я сразу сказал, что это грубо

   
 
 автор: provodnik   (18.06.2007 в 11:31)   письмо автору
 
   для: provodnik   (15.06.2007 в 15:25)
 

Решил обращаться, напрямую указывая путь от корня сервера...
Спасибо откликнувшимся...

   
Rambler's Top100
вверх

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