创建,附加数据并将数据插入到php上的文件中

时间:2014-09-16 06:32:33

标签: php html

我计划为我的新网站制作一个非常简单的发布页面。它将由html文件创建。

就像wordpress的发布后页面一样,会有输入字段,如"标题","内容"以及一些用于输入页面元数据的额外字段。当我点击发布按钮时,脚本将创建一个类似" title.html"的文件。并且内容将包含一些其他模板文件和从发布页面发送的数据。我创建的发布页面的基本代码如下;

<form action="post.php" method="POST">
<table><tr><td>Title:</td><td><input type="text" name="title" /></td></tr>
<tr><td>Content to be added</td><td><textarea required="required" name="content"style="width: 600px; height: 138px;"/></textarea></td></tr></table>
<input class="submit" type="submit" value="Confirm &raquo;" />
</form>

和post.php就是这样;

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">  

<?php 

$content = $_POST['content'];
$title = $_POST['title'];       

$my_file1 = 'file1.html';
$handle = fopen($my_file1, 'r');
$data1 = fread($handle,filesize($my_file1));

$my_file2 = 'file2.html';
$handle = fopen($my_file2, 'r');
$data2 = fread($handle,filesize($my_file2));

$data3 = $data1.$content.$data2;

$my_file3 = $title;
$handle = fopen($my_file3, 'w') or die('Cannot open file:  '.$my_file3);
fwrite($handle, $data3);

fclose($handle);

?>

file1.html;

的内容
<html>
<head>
<codes>
</head>
<body>
<div id="content">

file2.html的内容;

</div>
<codes>
</body>
</html>

创建的文件$ title.html就是这样;

<html>
<head>
<codes>
</head>
<body>
<div id="content">$content</div>
<codes>
</body>
</html>

我想知道是否可以使用一个文件(只有file1.html而不是file2.html)来管理它。我的意思是脚本将读取file1.html的内容,找到id = content并将$ content放在这个标签之间。这可能吗?

谢谢。

编辑:

当我在Andrey B的帮助下找到解决方案时,我想在此发布;

<?php 

$title = $_POST['title'];
$description = $_POST['description'];
$keywords = $_POST['keywords'];
$intro = $_POST['intro'];
$content = $_POST['content'];
$file = $_POST['file']; 


$my_file1 = 'post2.html';
$handle = fopen($my_file1, 'r');
$data1 = fread($handle,filesize($my_file1));

$data3 = sprintf($data1, $title, $description, $keywords, $intro, $content);

$my_file3 = $file;
$handle = fopen($my_file3, 'w') or die('Cannot open file:  '.$my_file3);
fwrite($handle, $data3);

fclose($handle);

?>

2 个答案:

答案 0 :(得分:0)

是的,你可以使用require_once来实现它:

<?php require_once("file1.php") ?>

<?php echo $content ?>

<?php require_once("file2.php"); ?>

以这种方式使用它以在多个部分文件中创建布局非常常见。

http://php.net/manual/es/function.require-once.php

您也可以使用include,但我建议您更好地使用require_once作为最佳做法。

答案 1 :(得分:0)

您可以使用sprintf

$template = "<div>%s</div>";
$data = 'Hi, World!';
$text = sprintf($template, $data); # <div>Hi, World!</div>