![](/img/trans.png)
[英]How can I combine view pages with the same header and footer in Codeigniter?
[英]How can I automatically put same header, footer and layout to every pages generated by this PHP code?
这是我的代码
<?php
$myFile = "hidata.txt";
$fh = fopen($myFile, 'r');
$counter = 1;
$page = 2;
while(false !== ($theData = fgets($fh))) {
if ( $counter > 10){
file_put_contents( '/i', $page.".php", '<li>' . $theData . '</li>' . PHP_EOL, FILE_APPEND );
if ($counter == 20){
$counter=10;
$page++;
}
}else{
echo ('<li>' . $theData . '</li>');
}
$counter++;
}
fclose($fh);
?>
每当hidata.txt
超过10,20,30 ...行文本时,此代码就会自动生成新的.php页面。 我希望每个生成的页面自动具有相同的页眉,页脚和布局。 如何在这段代码中做到这一点?
编辑:我尝试过,但不起作用
<?php
$myFile = "hidata.txt";
$fh = fopen($myFile, 'r');
$counter = 1;
$page = 2;
$newpage = true;
while(false !== ($theData = fgets($fh))) {
if ( $counter > 10){
if ($newpage) {
file_put_contents(..... $header .....);
$newpage = false;
}
file_put_contents( '/i', $page.".php", '<li>' . $theData . '</li>' . PHP_EOL, FILE_APPEND );
if ($counter == 20){
$counter=10;
$page++;
$newpage = true;
}
}else{
echo ('<li>' . $theData . '</li>');
}
$counter++;
}
fclose($fh);
?>
编辑2:这是我的hidata.txt
data1
data2
data3
data4
data5
等等
这是我的header.php
<h1>Test</h1>
[编辑-示例代码]
$page = 2;
$newpage = true;
while(false !== ($theData = fgets($fh))) {
if ( $counter > 10){
if ($newpage) {
file_put_contents(..... $header .....);
$newpage = false;
}
file_put_contents( '/i', $page.".php", '<li>' . $theData . '</li>' . PHP_EOL, FILE_APPEND );
if ($counter == 20){
$counter=10;
$page++;
$newpage = true;
}
[原版的]
您可以添加如下代码:
if ( $counter > 10){
/********** YOUR CODE HERE *****/
if (first putfor this page) {
file_put_contents('/i',$page.".php",$header . PHP_EOL, FILE_APPEND);
}
/******* *****/
file_put_contents( '/i', $page.".php", '<li>' . $theData . '</li>' . PHP_EOL, FILE_APPEND );
类似地,在$page++;
时附加“页脚” $page++;
。 在fclose
之前,您必须检查是否已写入最后的页脚。
$header
可以是类似于require_once("header.php")
的字符串,也可以是file_get_contents
的结果,具体取决于您的需求。 同上页脚。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.