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

Форум PHP

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

 

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

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

тема: Вставка файлов
 
 автор: Mouse   (06.02.2007 в 14:27)   письмо автору
 
 

Уважаемые господа, такая проблема: вставляю файл shtml (там меню) в файл с разрешением php - браузер его не отображает, хотя Dream Viever показывает, подскажите в чем ошибка? Заранее благодарен.
Синтаксис такой <!--#include file="menu.shtml" -->

   
 
 автор: ZuArt   (06.02.2007 в 14:38)   письмо автору
 
   для: Mouse   (06.02.2007 в 14:27)
 

легко =))) далеко не все (если только не вообще никакие) хостеры поддерживают симбиоз ssi + php - если правильно помню, то некоторые могут схватить конструкцию в файле shtml
<!--#include file="file.php" -->
но никак не наоборот... строка подобная вышенаписанной в скрипте не обрабатывается серваком перед выдачей в браузер, а значит и не заменяется на код файла menu.shtml - попробуй сделать такую фичу немного другим оператором - include("menu.shtml") - но если у тебя в menu.shtml есть конструкции ssi (<!-- .... -->) то они не отработают.

   
 
 автор: mihdan   (06.02.2007 в 14:39)   письмо автору
 
   для: Mouse   (06.02.2007 в 14:27)
 

Попробуйте так


<?php
include_once ("menu.shtml");
?>

   
 
 автор: cheops   (07.02.2007 в 01:53)   письмо автору
 
   для: Mouse   (06.02.2007 в 14:27)
 

Должно срабатывать <!--#include file="menu.php" -->

   
 
 автор: ZuArt   (07.02.2007 в 09:41)   письмо автору
 
   для: cheops   (07.02.2007 в 01:53)
 

Боюсь, что так не сработает =)
Апача не пропускает через модуль, отвечающий за SSI, результат таботы скриптов - а <!--#include ... --> директива именно SSI - если подключать в скрипте, то только (или/или):
- include(...) или иже с ним... /операторы PHP/
- через echo implode("", file("menu.shtml")); /чтение и вывод файлов/
- сокеты /обращение через url/

   
 
 автор: cheops   (07.02.2007 в 13:31)   письмо автору
 
   для: ZuArt   (07.02.2007 в 09:41)
 

Решение работает иначе бы я не стал его публиковать, Apache пропускает PHP через PHP-интерпретатор и выдаёт HTML код, который и подставляется при помощи директивы #include.

PS Вы, кстати, двумя постами выше привели точно такое же решение.

   
Rambler's Top100
вверх

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