[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скрипт создающий html страницу автоматически
Vulkan
Нужно сделать скрипт который бы автоматом создавал файл в указанном каталоге автоматически.



Спустя 28 минут, 17 секунд (16.04.2010 - 11:01) vagrand написал(а):
хех, а мне нужны сапоги черные.
Надеюсь мысля понятна?

Спустя 15 минут, 20 секунд (16.04.2010 - 11:17) Michael написал(а):
Цитата (vagrand @ 16.04.2010 - 10:01)
хех, а мне нужны сапоги черные.
Надеюсь мысля понятна?

Ну зачем же так?
Достаточно написать - 10 WMZ. biggrin.gif

Спустя 28 минут, 35 секунд (16.04.2010 - 11:45) Vulkan написал(а):
Извиняюсь что не описал подробнее, я хочу чтобы кто знает объяснил мне принцип его работы и на чём он основывается, а напишу уж я сам. smile.gif допустим как создать автоматом документ Excel или Word на PHP я знаю, а с html что-то ещё не сталкивался)

Спустя 41 минута, 22 секунды (16.04.2010 - 12:27) vagrand написал(а):

file_put_contents('some_dir/some_file.html', '<h1>Hello world</h1>');


Тадам!!!!

Спустя 27 минут, 12 секунд (16.04.2010 - 12:54) Vulkan написал(а):
Спасибо большое! smile.gif Сейчас буду писать скрипт. Жаль что для изменения репутации нужно 10 постов, ну ничего, скоро наберу и поставлю Вам плюсик)

Спустя 7 минут, 48 секунд (16.04.2010 - 13:02) Vulkan написал(а):
Всё работает, большое спасибо)))! biggrin.gif Только вот вопросик, как добавить в скрипт переменную, допустим:

file_put_contents('diary/zapisi/$r['id']', '$r['fulls]');


Выводит ошибки соответствующие.

Спустя 1 час, 27 минут, 6 секунд (16.04.2010 - 14:29) vagrand написал(а):
Vulkan

Вы тоже ученик Попова?


file_put_contents('diary/zapisi/' . $r['id'], $r['fulls']);

Спустя 1 час, 23 минуты, 49 секунд (16.04.2010 - 15:53) Vulkan написал(а):
Цитата (vagrand @ 16.04.2010 - 11:29)
Vulkan

Вы тоже ученик Попова?


file_put_contents('diary/zapisi/' . $r['id'], $r['fulls']);

Нет я не ученик Попова) Я просто новичок и вот учусь по учебникам и на этом форуме, практикуюсь. Огромное спасибо за помощь smile.gif

Спустя 2 часа, 55 минут, 15 секунд (16.04.2010 - 18:48) Jinus написал(а):
Цитата (Vulkan @ 16.04.2010 - 12:53)
Цитата (vagrand @ 16.04.2010 - 11:29)
Vulkan

Вы тоже ученик Попова?


file_put_contents('diary/zapisi/' . $r['id'], $r['fulls']);

Нет я не ученик Попова) Я просто новичок и вот учусь по учебникам и на этом форуме, практикуюсь. Огромное спасибо за помощь smile.gif

Прошу прощения за ОФФТОП, но в каком учебнике учат писать так:
Цитата
'$r['fulls]'
? tongue.gif

Спустя 29 минут, 38 секунд (16.04.2010 - 19:17) Maks777 написал(а):
Хааа:))) А такое:)))?
$title="Мой титл:))))))))))))";
$html1=<<<htm
<html>
<title>$title</title>
<head>
htm;
$html2=<<<ht
</head>
</html>
ht;
$allHtml=$html.$html2;
$fp=fopen("C:/fdsfsd.html", "w+");
fwrite($fp, $allHtml);
fclose($fp);

Спустя 4 минуты, 8 секунд (16.04.2010 - 19:22) Maks777 написал(а):
Упс, опечатка... Найдите строчку и замените на такое: $allHtml=$html1.$html2;
Все работает. Скрипт создает по указанному адресу страницу и пишет в ней ваш титл:))) Можно таких страниц сгенерить сколько угодно. Надо только для каждой страницы через цикл создавать уникальное имя. В помощь Вам md5, microtime(), uniqid()

Спустя 22 минуты, 22 секунды (16.04.2010 - 19:44) Maks777 написал(а):
А , вообще, если хотите неплохо знать ПХП, рекомендую Вам таких авторов: Котеров, Лаура Томсон, Колесниченко, Энди Гутманс:)) Поищите их книги

Спустя 15 часов, 47 минут, 4 секунды (17.04.2010 - 11:31) Vulkan написал(а):
Maks777 Спасибо за код smile.gif Сейчас опробую его в действии, как раз искал что-то подобное и думал о функциях fopen, fwrite и т.д.
Добавлено:
Протестил скрипт, всё работает спасибо, позже напишу что получилось из скрипта. wink.gif

Спустя 2 часа, 42 минуты, 4 секунды (17.04.2010 - 14:13) Vulkan написал(а):
Всё хорошо, вот что получилось в итоге (обработчик формы):
<?php
$title = $_POST['title'];
$author = $_POST['author'];
$shorts = $_POST['shorts'];
$fulls = $_POST['fulls'];
$date = date('Y-m-d H:i:s');
if($title=='')
{
echo "Вы не заполнили все необходимые поля";
}
else{
echo "Запись была успешно добавлена";
include 'sql.php';
$sql= "INSERT into diary SET user_id='$user_id', title='$title', author='$username', date='$date', shorts='$shorts', fulls='$fulls'";
$sql = mysql_query($sql) or die(mysql_error());
$sqlfulls = "SELECT id, fulls FROM diary WHERE title='$title'";
$result = mysql_query($sqlfulls) or die(mysql_error());
$r=mysql_fetch_assoc($result);
$fulls=$r['fulls'];
$html1=<<<htm
<html>
<title>
$title</title>
<head>

htm;
$html2=<<<ht
</head>
<body>

$fulls
</body>
</html>

ht;
$allHtml=$html1.$html2;
$fp=fopen('diary/zapisi/' . $r['id'] . '.html', "w+");
fwrite($fp, $allHtml);
fclose($fp);
}
?>

Всё отлично записывается biggrin.gif Спасибо тем кто мне помогал, плюсики в репу уже поставил, тему можно закрывать.

Спустя 1 час, 51 минута, 28 секунд (17.04.2010 - 16:05) Maks777 написал(а):
Пожалуйста:))))на здоровье

Спустя 1 час, 25 минут, 33 секунды (17.04.2010 - 17:30) Vulkan написал(а):
А вот ещё вопросик - допустим код такой:
$fulls=$r['fulls'];
$html1=<<<htm
<html>
<title>Круть -
$title</title>
<head>

htm;
$html2=<<<ht
</head>
<body>

$fulls
</body>
</html>

ht;
$allHtml=$html1.$html2;
$fp=fopen('diary/zapisi/' . $r['id'] . '.html', "w+");
fwrite($fp, $allHtml);
fclose($fp);

Как сделать так чтобы в файл шли не значения переменной, а сама переменная, то есть когда файл сформировался значение переменной можно было менять? Пример - в файл ушла переменная $title и если позже изменить значения в БД этой переменной, файл остаётся таким же, а нужно чтобы значение менялось.

Спустя 1 час, 7 минут, 3 секунды (17.04.2010 - 18:37) Vulkan написал(а):
Цитата (Vulkan @ 17.04.2010 - 14:30)
А вот ещё вопросик - допустим код такой:
<pre class="sh_sourceCode" rel="php"><span class="sh_variable">$fulls</span><span class="sh_symbol">=</span><span class="sh_variable">$r</span><span class="sh_symbol">[</span><span class="sh_string">'fulls'</span><span class="sh_symbol">];</span>
<span class="sh_variable">$html1</span><span class="sh_symbol">=</span><span class="sh_escape"><<<htm</span>
<span class="sh_string"><html>
<title>Круть -</span> <span class="sh_variable">$title</span><span class="sh_string"></title>
<head></span>
<span class="sh_escape">htm;</span>
<span class="sh_variable">$html2</span><span class="sh_symbol">=</span><span class="sh_escape"><<<ht</span>
<span class="sh_string"></head>
<body></span>
<span class="sh_variable">$fulls</span>
<span class="sh_string"></body>
</html></span>
<span class="sh_escape">ht;</span>
<span class="sh_variable">$allHtml</span><span class="sh_symbol">=</span><span class="sh_variable">$html1</span><span class="sh_symbol">.</span><span class="sh_variable">$html2</span><span class="sh_symbol">;</span>
<span class="sh_variable">$fp</span><span class="sh_symbol">=</span><span class="sh_function">fopen</span><span class="sh_symbol">(</span><span class="sh_string">'diary/zapisi/'</span> <span class="sh_symbol">.</span> <span class="sh_variable">$r</span><span class="sh_symbol">[</span><span class="sh_string">'id'</span><span class="sh_symbol">] .</span> <span class="sh_string">'.html'</span><span class="sh_symbol">,</span> <span class="sh_string">"w+"</span><span class="sh_symbol">);</span>
<span class="sh_function">fwrite</span><span class="sh_symbol">(</span><span class="sh_variable">$fp</span><span class="sh_symbol">,</span> <span class="sh_variable">$allHtml</span><span class="sh_symbol">);</span>
<span class="sh_function">fclose</span><span class="sh_symbol">(</span><span class="sh_variable">$fp</span><span class="sh_symbol">);</span></pre>
Как сделать так чтобы в файл шли не значения переменной, а сама переменная, то есть когда файл сформировался значение переменной можно было менять? Пример - в файл ушла переменная $title и если позже изменить значения в БД этой переменной, файл остаётся таким же, а нужно чтобы значение менялось.

Я уже понял как сделать, это просто:

$fp=fopen('diary/zapisi/' . $r['id'] . '.html', "w+");
fwrite($fp, $allHtml);
fwrite($fp, $переменная); ////Тут любая переменная)
fclose($fp);


И ещё, кому надо, можно делать таким образом:

$fp=fopen('diary/zapisi/' . $r['id'] . '.php', "w+");
fwrite($fp, "<? include 'http://site.com/header.php'; ?>");
fwrite($fp, $fulls);
fwrite($fp, "<? include 'http://site.com/footer.php'; ?>");
fclose($fp);


То есть впереди в добавляемом файле будет идти файл header.php, через который можно менять внешний вид всех записей добавленных таким образом. А внизу соответственно footer.php
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.