Вот решил задаться таким вопросом, как можно методом php реализовать создание страниц с уже установленным кодом.
Наример
<?php
define('_IN_JOHNCMS', 1);
$textl = 'Страница';
require_once ("../incfiles/core.php");
require_once ("../incfiles/head.php");
echo 'текст страницы';
require_once ("../incfiles/end.php");
?>
Например, зашел админ в скрипт, ввел имя будущей страницы, нажал создать, и вуаля, в той же папке появилась страничка с тем именем которое он задал, конечно же с расширение php.
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('твой текст', 'хеадмод', 'заголовок');
а вообще полазь по форуму, флай вылаживал модуль для создания страниц из админки
~XeOn~, это не модуль создание страниц, это функционал для облегчение(что не писать хеадмод, заголовок и т.д.)
~XeOn~ (23.11.2011/17:09)
а вообще полазь по форуму, флай вылаживал модуль для создания страниц из админки
Там нет такого.
Там просто создал страницу и все, причем в текстовом формате.
А тут немного другое.
Нужно чтоб создавало страницу с уже вставленным кодом.
$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);
как то так
не кодер, да и писал сам код прямо в браузере
Короче теперь сути такова блин.
Все норма, файл создается, но название получается кракозябрами, вводил английскими.
Потом, там где титл должен быть получается вот что, собственно сам код который оказался в файле
<?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");
?>
localhost, думаю кодировка, хотя хз.
Blade (23.11.2011/17:56)
localhost, думаю кодировка, хотя хз.
Ну файлы создаются в кодировке utf8 как и нада.
Но смотри что вместо $textl пишет, во вторых само название файла кракозябры, хотя когда пишу цыфрами то норма.
localhost, уу, не знаю, грю же не кодер. зделай праверки какие нибудь пост запросов, перекодировку, еще чего
в принципе, если латиницей вводишь имя файла, то нормально отображаться должно