我使用以下代码动态创建PHP文件
$value = 5;
$file = $compname.'.php';
$file_pointer = fopen( $file, 'w' );
$string = '<?php $var = '. $value .' ?>';
fwrite( $file_pointer, $string );
fclose($file_pointer);
include($file);
echo $var;
是否可以在该php文件中插入模板,文件名为conatins space是否可以删除这些空格并添加“ - ”
答案 0 :(得分:2)
正如@ianhales所提到的,您可以使用str_replace()替换名称中的空格。如果我正确理解您的问题,您希望使用模板文件来生成PHP文件的内容。为此,我会做以下几点。
创建template.txt文件
<?php
$var = #THEVAR#;
?>
然后使用模板:
<?php
...
$value = 5;
$template = file_get_contents('template.txt');
$template = str_replace("#THEVAR#", $value, $template);
$newFile = fopen($compname.'.php', 'w');
fwrite($newFile, $template);
fclose($newFile);
...
答案 1 :(得分:1)
str_replace( )会做''到' - '替换。你的其余问题我不明白。
答案 2 :(得分:0)
你是说你想要一个预制的PHP文件并在那里改变一些东西吗?
例如,您可以使用占位符。
示例 PHP文件
<?php
$var = '[%%VAR1%%]';
?>
文件编辑器:
//Change filename
str_replace(' ', '-', $compname);
//File "template editor"
$value = 5;
$file = file_get_contents($compname.'.php');
str_replace('[%%VAR1%%]',$value, $file);
file_put_contents($compname.'.php', $file);
答案 3 :(得分:0)
您没有提及是否希望首先对您的模板文件进行PHP解析。这种方法可以(或不):
function getTemplateContent($includeFile, $parsePhp = TRUE) {
$cont = '';
if ($parsePhp) {
try {
ob_start();
require($includeFile);
$cont = ob_get_contents();
ob_end_clean();
} catch (Exception $ex) {
$cont = '';
}
} else {
$cont = file_get_contents($includeFile); #
}
return $cont;
}
将模板内容包含在书面文件中可以像例如
那样进行$string = '<?php $var = '. $value . ';' . getTemplateContent($templateFile, TRUE/FALSE) . ' ?>'