PHP ob_flush();它';It’没有潮红
我正在尝试编写一个脚本,它将基于10个模板创建10个文件(每个文件一个模板) 这是我的代码:PHP ob_flush();它';It’没有潮红,php,Php,我正在尝试编写一个脚本,它将基于10个模板创建10个文件(每个文件一个模板) 这是我的代码: $lines = file("files/templist.txt"); $template = "files/templates/template.txt"; $template2 = "files/templates/template2.txt"; $template3 = "files/templates/template3.txt"; $template4 = "files/templates/
$lines = file("files/templist.txt");
$template = "files/templates/template.txt";
$template2 = "files/templates/template2.txt";
$template3 = "files/templates/template3.txt";
$template4 = "files/templates/template4.txt";
$template5 = "files/templates/template5.txt";
$template6 = "files/templates/template6.txt";
$template7 = "files/templates/template7.txt";
$template8 = "files/templates/template8.txt";
$template9 = "files/templates/template9.txt";
$template10 = "files/templates/template10.txt";
ob_start();
include_once($template);
$file_output = ob_get_clean();
file_put_contents('files/'.$lines[0].'', $file_output);
ob_flush()
if (empty($lines[1])) {
} else {
ob_start();
include_once($template2);
$file_output2 = ob_get_clean();
file_put_contents('files/'.$lines[1].'', $file_output2);
ob_flush()
}
if (empty($lines[2])) {
} else {
ob_start();
include_once($template3);
$file_output3 = ob_get_clean();
file_put_contents('files/'.$lines[2].'', $file_output3);
ob_flush()
}
if (empty($lines[3])) {
} else {
ob_start();
include_once($template4);
$file_output4 = ob_get_clean();
file_put_contents('files/'.$lines[3].'', $file_output4);
ob_flush()
}
if (empty($lines[4])) {
} else {
ob_start();
include_once($template5);
$file_output5 = ob_get_clean();
file_put_contents('files/'.$lines[4].'', $file_output5);
ob_flush()
}
if (empty($lines[5])) {
} else {
ob_start();
include_once($template6);
$file_output6 = ob_get_clean();
file_put_contents('files/'.$lines[5].'', $file_output6);
ob_flush()
}
if (empty($lines[6])) {
} else {
ob_start();
include_once($template7);
$file_output7 = ob_get_clean();
file_put_contents('files/'.$lines[6].'', $file_output7);
ob_flush()
}
if (empty($lines[7])) {
} else {
ob_start();
include_once($template8);
$file_output8 = ob_get_clean();
file_put_contents('files/'.$lines[7].'', $file_output8);
ob_flush()
}
if (empty($lines[8])) {
} else {
ob_start();
include_once($template9);
$file_output9 = ob_get_clean();
file_put_contents('files/'.$lines[8].'', $file_output9);
ob_flush()
}
if (empty($lines[9])) {
} else {
ob_start();
include_once($template10);
$file_output10 = ob_get_clean();
file_put_contents('files/'.$lines[9].'', $file_output10);
ob_flush()
}
files/templast.txt包含10行:
data1
data2
data3
data4
data5
data6
data7
data8
data9
data10
我的目标是基于模板创建10个文件,例如data1.txt、data2.txt、data3.txt(…)和data10.txt
上面的脚本只创建了一个名为data10.txt的文件,省略了data1.txt、data2.txt等。
我做错了什么?干杯!:) 可能是这样(简单)
除了这段代码乱七八糟,而且由于ob_flush()调用末尾缺少分号,其语法不正确之外,主要问题是从templast.txt文件读取的文件名末尾包含一个新行-“\n”,但该文件的最后一行data10.txt除外。在这种情况下,文件的创建可能会失败,或者您的文件管理器可能无法显示该文件 最快的修复方法是将第一行替换为:
$lines = explode("\n", file_get_contents("files/templist.txt"));
听说过数组和循环吗…?
$lines = explode("\n", file_get_contents("files/templist.txt"));
for ($i = 1; $i <= 10; $i++) {
if (!empty($lines[$i])) {
ob_start();
$templatePath = 'files/templates/template.txt';
if ($i > 1) {
$templatePath .= $i;
}
$templatePath .= '.txt';
include($templatePath);
file_put_contents('files/' . $lines[$i], ob_get_clean());
}
}
$lines = explode("\n", file_get_contents("files/templist.txt"));