Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Помогите с инклудом в html...
цитата
05/10/09 в 16:29
 Man of war
скачал скрипт который рандомно выводит разные html коды (создаются html файлы и он рандомно их выводит)
вот его код

Код:
<?
$num_of_html = 1;         // количество файлов на странице
$html_dir    = "base";    // папка с файлами
$html_tip    = ".html";   // расширение файлов для вывода

// =======================================================

$html_array = array();
$d = dir($html_dir);
while($entry=$d->read())
{
     if(ereg("html$",$entry))
     {
         $html_array[] = $entry;
     }
}
$d->close();

srand ((double) microtime() * 10000000);
$rand_keys = array_rand($html_array,$num_of_html);

echo "<table align=center cellpadding=10 width=400
      cellspacing=0 border=0 style=\"border: solid 1px black;\">";
for($m=0;$m<$num_of_html;$m++)
{
  echo "<tr><td>";
  if($num_of_html==1)
  {
    include($html_dir."/".$html_array[$rand_keys]);
  }
  else
  {
    include($html_dir."/".$html_array[$rand_keys[$m]]);
  }
  echo "</td></tr>";
}
echo "</table>";

?>


если запускается через файл php - все гуд
а в html - не работает
как только не пробовал инклудить ...
или может быть кто другой простой скрипт подскажет рандомного вывода 1 куска из списка кусков html кодов .
p.s в инете полно вроде - но все то не работает , то только текст может выводить..
цитата
05/10/09 в 16:47
 Some Milk
Это происходит потому, что файл .html сервер не исполняет, а просто отдает как есть.

Можно сказать серверу, чтобы он исполнял .html как .php

Если это apache и на нем разрешены .htaccess, то это делается прописыванием в .htaccess строчки

Код:
AddType application/x-httpd-php .html


после этого все .html файлы будут работать как .php
Следует, однако, быть осторожным. Если .html начинается, например, с

Код:
<?xml


то это вызовет ошибку.
цитата
05/10/09 в 16:57
 Man of war
Some Milk попадалось такое решение, но отказался от него как раз из за того о чем ты говоришь...

попался вот такой еще вариант
Код:
<script LANGUAGE="JavaScript">
<!--
var z= 3;
Banner = new Array(z);
Banner[0] = '<A HREF="Ссыллка баннера 1"><IMG SRC="1.gif" ALT="banner1" WIDTH=50 HEIGHT=50 BORDER=2></A>';
Banner[1] = '<A HREF="Ссыллка баннера 2"><IMG SRC="2.gif" ALT="banner2" WIDTH=50 HEIGHT=50 BORDER=2></A>';
Banner[2] = '<A HREF="Ссыллка баннера 3"><IMG SRC="0.gif" ALT="banner3" WIDTH=50 HEIGHT=50 BORDER=2></A>';

//-->
</script>

а как сделать что бы вместо картинки с сылкой была возможность ротировать посложнее код (таблица например)?
цитата
05/10/09 в 17:03
 Some Milk
Manowar писал:
Some Milk попадалось такое решение, но отказался от него как раз из за того о чем ты говоришь...
попался вот такой еще вариант
Код:
<script LANGUAGE="JavaScript">
<!--
var z= 3;
Banner = new Array(z);
Banner[0] = '<A HREF="Ссыллка баннера 1"><IMG SRC="1.gif" ALT="banner1" WIDTH=50 HEIGHT=50 BORDER=2></A>';
Banner[1] = '<A HREF="Ссыллка баннера 2"><IMG SRC="2.gif" ALT="banner2" WIDTH=50 HEIGHT=50 BORDER=2></A>';
Banner[2] = '<A HREF="Ссыллка баннера 3"><IMG SRC="0.gif" ALT="banner3" WIDTH=50 HEIGHT=50 BORDER=2></A>';
//-->
</script>

а как сделать что бы вместо картинки с сылкой была возможность ротировать посложнее код (таблица например)?


А иначе никак. Если файл с расширением .php - в нем пхп работает, если .html - то не работает.

Что до ротации в джаваскрипте - ну так пиши туда вместо картинок со ссылками таблицы, не вижу препятствий. Только следи за кавычками, если пишешь

Код:
banner[0] = 'тут какой-то html код';


то html-код должен содержать только двойные кавычки. Если нужно вставить одинарную, ее следует экранировать слешем, вот так:

Код:
banner[0] = 'тут какой-то html код don\'t yes no';


опять же, все это должно быть в одну строку. если нужно сделать перевод строки, то его опять же нужно экранировать слешем, например:

Код:
banner[0] = 'тут какой-то html код <table>\
<tr><td>-</td></tr>\
</table>';
цитата
05/10/09 в 17:06
 Pentarh
Ну сделай на хтмл хандлер SSI в хтаксесе. Потом сделай пхп скрипт, который будет выплевывать рандомный кусок хтмл.

И в твоем хтмл сделай SSI-инклуд этого скрипта,
цитата
05/10/09 в 17:09
 Some Milk
Pentarh писал:
Ну сделай на хтмл хандлер SSI в хтаксесе. Потом сделай пхп скрипт, который будет выплевывать рандомный кусок хтмл.
И в твоем хтмл сделай SSI-инклуд этого скрипта,


Мне кажется, что если человек задает такие вопросы, то фраза "сделай на хтмл хандлер SSI в хтаксесе" для него звучит примерно как на китайском, не говоря уже о том, чтобы самому сделать "пхп скрипт, который будет выплевывать рандомный кусок хтмл". Тут надо или конкретно разжевать, или предложить написать это за него.
цитата
05/10/09 в 17:15
 Some Milk
Хотя в принципе Pentarh дело говорит. Перевожу его пост на человеческий язык.

В .htaccess пишем:
Код:
AddHandler server-parsed .html


это позволяет делать SSI (server side includes)

тот php, что в первом посте, на первый взгляд нормальный и подойдет. Инклудим его в .html-файл через SSI примерно так:

Код:
<!--#include virtual="script.php" -->
цитата
05/10/09 в 17:23
 Man of war
Some Milk писал:
Мне кажется, что если человек задает такие вопросы, то фраза "сделай на хтмл хандлер SSI в хтаксесе" для него звучит примерно как на китайском

Some Milk - мысли читаешь smail101.gif , спасибо! попрубую как ты показал
и еще с таким хтаккесом не будет проблем о котрых ты говорил в твоем первом посте?
цитата
05/10/09 в 17:27
 Pentarh
Some Milk писал:
Хотя в принципе Pentarh дело говорит. Перевожу его пост на человеческий язык.
В .htaccess пишем:
Код:
AddHandler server-parsed .html

это позволяет делать SSI (server side includes)
тот php, что в первом посте, на первый взгляд нормальный и подойдет. Инклудим его в .html-файл через SSI примерно так:
Код:
<!--#include virtual="script.php" -->

Спасибо за перевод. Я чето совсем обленился )
цитата
05/10/09 в 17:31
 Man of war
выдает ошибку
[an error occurred while processing this directive]
цитата
05/10/09 в 17:32
 Some Milk
Manowar писал:
Some Milk - мысли читаешь smail101.gif , спасибо! попрубую как ты показал
и еще с таким хтаккесом не будет проблем о котрых ты говорил в твоем первом посте?

нет, все будет ок.
цитата
05/10/09 в 17:36
 Some Milk
Manowar писал:
выдает ошибку
[an error occurred while processing this directive]


Если я не ошибаюсь, то это бывает если в этом каталоге нельзя использовать SSI или если указан неправильный путь к включаемому скрипту.
цитата
05/10/09 в 17:36
 Pentarh
Судя по всему не правильный путь или Options +Includes надо добавить в хтаксес
цитата
05/10/09 в 17:45
 Man of war
да- не точен путь был..
все заработало
всем спасибо - оценил!


Эта страница в полной версии