Создание страниц с помощью php

1.09K
.
OnLine Quest Game
Вот решил задаться таким вопросом, как можно методом php реализовать создание страниц с уже установленным кодом.
Наример
<?php
define('_IN_JOHNCMS', 1);
$textl = 'Страница';
require_once ("../incfiles/core.php");
require_once ("../incfiles/head.php");

echo 'текст страницы';

require_once ("../incfiles/end.php");
?>

Например, зашел админ в скрипт, ввел имя будущей страницы, нажал создать, и вуаля, в той же папке появилась страничка с тем именем которое он задал, конечно же с расширение php.
.
~XeOn~
localhost, для вывода информации я себе функцию написал которую в грабах использую, потому что постоянно инклуды писать не в кайф))
function john($get, $headmod, $title)
{
    global $realtime, $rootpath;
    define('_IN_JOHNCMS', 1);
    require $rootpath . 'incfiles/core.php';
    $headmod = $headmod;
    $textl = $title;
    require $rootpath . 'incfiles/head.php';
    echo $get;
    require $rootpath . 'incfiles/end.php';
}

использовать так:
$rootpath = '../';
john('твой текст', 'хеадмод', 'заголовок');
.
а вообще полазь по форуму, флай вылаживал модуль для создания страниц из админки
.
2ziz
«Музыка — это моя религия» © Джимми Хендрикс
~XeOn~, это не модуль создание страниц, это функционал для облегчение(что не писать хеадмод, заголовок и т.д.)
.
OnLine Quest Game
~XeOn~ (23.11.2011/17:09)
а вообще полазь по форуму, флай вылаживал модуль для создания страниц из админки
Там нет такого.
Там просто создал страницу и все, причем в текстовом формате.
А тут немного другое.
Нужно чтоб создавало страницу с уже вставленным кодом.
.
Blade
The Frontend-Warrior
$name = $_POST['name'];
$code = $_POST['code'];
$title = $_POST['title'];

$ololo1 = "<?php define('_IN_JOHNCMS', 1);"."\n".
"$textl = '$title' ;"."\n".
"require_once (\"../incfiles/core.php\");"."\n".
"require_once (\"../incfiles/head.php\");"."\n";

$ololo2 = "\n"."require_once (\"../incfiles/end.php\"); ?>";


$fh = fopen($name.'.php', "w") or die("не могу создать файл");
fwrite($fh,$ololo1);
fwrite($fh,$code);
fwrite($fh,$ololo2);

fclose($fh);

как то так
не кодер, да и писал сам код прямо в браузере
.
OnLine Quest Game
Короче теперь сути такова блин.
Все норма, файл создается, но название получается кракозябрами, вводил английскими.
Потом, там где титл должен быть получается вот что, собственно сам код который оказался в файле
<?php define('_IN_JOHNCMS', 1);
Без имени = 'testes' ;
require_once ("../incfiles/core.php");
require_once ("../incfiles/head.php");

require_once ("../incfiles/end.php"); ?>


А вот код который создает сам файл.
<?php
define('_IN_JOHNCMS', 1);
require_once ("../incfiles/core.php");
require_once ("../incfiles/head.php");
switch ($act) {
    case 'go':
        $name = $_POST['name'];
        $code = $_POST['code'];
        $title = $_POST['title'];

        $ololo1 = "<?php define('_IN_JOHNCMS', 1);" . "\n" . "$textl = '$title' ;" . "\n" .
            "require_once (\"../incfiles/core.php\");" . "\n" . "require_once (\"../incfiles/head.php\");" .
            "\n";

        $ololo2 = "\n" . "require_once (\"../incfiles/end.php\"); ?>";


        $fh = fopen($name . '.php', "w") or die("не могу создать файл");
        fwrite($fh, $ololo1);
        fwrite($fh, $code);
        fwrite($fh, $ololo2);

        fclose($fh);
        break;
    default:
}
echo '<form action="index.php?act=go" method="post"><div class="gmenu">';
echo '<b>Титл</b><br/><input type="text" name="name" /><br />';
echo '<b>Код</b><br/><input type="text" name="code" /><br/>';
echo '<div class="menu">Имя<br/><input type="text" name="title" /></div>';
echo '<div class="bmenu"><input type="submit" name="submit" value="Проба"/></div></div></form>';
require_once ("../incfiles/end.php");
?>
.
The Frontend-Warrior
localhost, думаю кодировка, хотя хз.
.
OnLine Quest Game
Blade (23.11.2011/17:56)
localhost, думаю кодировка, хотя хз.
Ну файлы создаются в кодировке utf8 как и нада.
Но смотри что вместо $textl пишет, во вторых само название файла кракозябры, хотя когда пишу цыфрами то норма.
.
The Frontend-Warrior
localhost, уу, не знаю, грю же не кодер. зделай праверки какие нибудь пост запросов, перекодировку, еще чегов принципе, если латиницей вводишь имя файла, то нормально отображаться должно
Всего: 50