2013-02-17 81 views
0

基本上,我可以將html標記/文本等等寫入文件。一切都很好。但是,我需要能夠寫入一些實際的PHP到文件中,我完全沒有意識到我應該如何去做這件事。將php腳本寫入文件

反正這裏是我所擁有的,以幫助更好地展示我的情況:

$path = substr(md5(time() . md5(rand())), 0, 8); 
$dir = substr(md5($_SERVER['REMOTE_ADDR']), 0, 4); 
$fpath = "b/" . $dir "/" . $path; 
$file = 'index.php'; 

$handle = fopen($fpath . '/' . $file, 'w') or die ('cannot create the file'); 
include template.php; 
fwrite($handle, $pt1 . $pt2 . $pt3); 

中的template.php我有變量拿着$ PT1很多的HTML裏面,$ PT2,PT3 $但是 ,在每個'pt'之間我需要有一些真正的PHP。

因此,例如,爲了說我需要$這其間的每一個「PT」和$這之中:

<?php 
if(isset($_SESSION['user'])){ 
echo "hello"; 
}else{ 
echo "bye"; 
} 
?> 

我會怎麼做呢? *文件和路徑的實際創建是好的,但是,我知道它可能看起來很不尋常,但是,我喜歡這種方式。它只是將php腳本添加到php文件中。

  • 另外我也嘗試過將腳本粘貼在變量中,但它似乎只是將它們打印爲純文本而不是執行它們。
+0

我想你可以使用PHP的[標記者]包長的內容到一個變量(http://www.php.net/manual/en/function.token-get-all.php),並在名爲「pt」的T_VARIABLE之後插入代碼3令牌:)爲什麼你需要這個呢? – 2013-02-17 20:07:58

+0

嗯,我會看看,因爲我從來沒有聽說過標記器。雖然關於爲什麼*我這樣做的原因是因爲我需要一個用戶保存模板,其中必須嵌入php。 – iyop45 2013-02-17 20:10:56

回答

1

是否介於每個pt意味着$p1 . $var . $pt2

嘗試這樣:

<?PHP 
$var = '<?php 
if(isset($_SESSION["user"])){ 
echo "hello"; 
}else{ 
echo "bye"; 
} 
?>'; 
echo $pt1 . $var . $pt2; 
?> 

編輯:

此外,您還可以使用

<?PHP 
$var = <<< 'PHP' 
<?php 
if(isset($_SESSION["user"])){ 
echo "hello"; 
}else{ 
echo "bye"; 
} 
?> 
PHP; 
$pt1 = 'before'; 
$pt2 = 'after'; 
echo "$pt1 $var $pt2"; 
?> 
+0

哦,等我壞了。再次把它們變成變量是有用的。我不知道我第一次做錯了什麼,但是感謝讓我再次嘗試它,因爲它現在正在執行php。 – iyop45 2013-02-17 20:25:59

+0

我很高興它幫助你。 – 2013-02-17 20:35:59