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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как преобразовать комбинированную страницу в статическую?

Сообщения:  [1-10]   [11-11] 

 
 автор: Владимир55   (17.11.2007 в 17:28)   письмо автору
 
   для: CrazyAngel   (17.11.2007 в 17:18)
 

Да, так должно получиться! Очень интересное решение! Большое спасибо!

   
 
 автор: CrazyAngel   (17.11.2007 в 17:18)   письмо автору
 
   для: CrazyAngel   (17.11.2007 в 16:51)
 

хм... не очень продуманно с include тогда, но можно сделать что-то типо того ...

<?php
$template 
'
<html>
<head>
<meta http-equiv="Content-Language" content="ru">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Долгота дня</title>
</head>
<body>
<p>Восход Солнца:
#sun_voshod#
</p>
<p>Заход Солнца:
#sun_zahod#
</p>
</body>
</html>'

$arDate = array(
"17-11-2007",
); 
for(
$i=0;$i<count($arDate);$i++):
    include 
$arDate[$i].".php" ;
    
$content str_replace("#sun_voshod#",$sun_voshod,$template);
    
$content str_replace("#sun_zahod#",$sun_zahod,$content); 
    
// далее $content записывайем в файл  $arDate[$i].".html"    
endfor;
?>

   
 
 автор: Владимир55   (17.11.2007 в 17:09)   письмо автору
 
   для: CrazyAngel   (17.11.2007 в 16:51)
 

Очень интересное решение! И сам принцип очень интересен - его можно будет применить и в других случаях.

Однако есть и одно "но"....

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

А вот бы сделать так, чтобы на специально созданной странице написать соответствующий код, в соответствии с которым была бы взята информация из htm-файла и из php-файла, и из нее сформирован обобщающий htm-код, который бы и записался в новый файл.

Есть ли такая возможность?

(Можно считать информационный рнр-файл в переменную и найти в ней нужные значения, которые и подставить в htm-файл, удалив оттуда инклуд и прочее. Такое решение я себе представляю. А можно ли сделать что-то еще, лучшее?)

   
 
 автор: CrazyAngel   (17.11.2007 в 16:51)   письмо автору
 
   для: Владимир55   (17.11.2007 в 15:38)
 


<?php
ob_start
();
?>
<html>
<head>
<meta http-equiv="Content-Language" content="ru">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Долгота дня</title>
</head>
<body>
<p>Восход Солнца:
<?include "17-11-2007.php" ;
echo 
$sun_voshod ;
?>
</p>
<p>Заход Солнца:
<?php
echo $sun_zahod ;
?>
</p>
</body>
</html> 
<?php
$file 
ob_get_contents();
// теперь надо $file записать в файл :)
?>

это типо кеш получается :)

   
 
 автор: Владимир55   (17.11.2007 в 16:41)   письмо автору
 
   для: bronenos   (17.11.2007 в 16:27)
 

Попробовал, и оказалось именно так, как Вы говорите! Большое спасибо, буду знать. Эта конструкция у меня часто встречается, так что польза от Вашего замечания весьма ощутима!


Но все же, как достичь того, чтобы переписать htm-файл с сохранением значений переменных из подключенного файла?

   
 
 автор: Владимир55   (17.11.2007 в 16:28)   письмо автору
 
   для: SHAman   (17.11.2007 в 16:03)
 

автор: SHAman Читайте о буфферизации и о том, как сохранить текст в файл.

Текст в файл я обычно сохраняю последовательностью операторов fopen, fputs и fclose . Как я полагаю, они подойдут и в этом случае. Нюанс в том, чтобы в сохраняемом файле сохранились и значения переменных из подключенного файла.

   
 
 автор: bronenos   (17.11.2007 в 16:27)   письмо автору
 
   для: Владимир55   (17.11.2007 в 16:22)
 

сеанс ограничен не <?php ... ?>, а всем файлом

   
 
 автор: Владимир55   (17.11.2007 в 16:22)   письмо автору
 
   для: EXP   (17.11.2007 в 16:17)
 

На сколько я знаю, include действует только в течение одного сеанса рнр, так что при начале следующего сеанса его необходимо повторить.

Разве не так?

   
 
 автор: EXP   (17.11.2007 в 16:17)   письмо автору
 
   для: Владимир55   (17.11.2007 в 15:38)
 

там ошибка в файле.htm два раза include "17-11-2007.php" ;
второй раз лишний , файл уже считан

   
 
 автор: SHAman   (17.11.2007 в 16:03)   письмо автору
 
   для: Владимир55   (17.11.2007 в 15:38)
 

Читайте о буфферизации и о том, как сохранить текст в файл.

   

Сообщения:  [1-10]   [11-11] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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