2015-09-28 86 views
-3

我在这里遇到了我的代码问题。我想要做的是在用户注册时自动在用户的文件夹中创建一个index.php文件。这实际上已经完成了,现在主要的问题是如何在创建的'index.php'文件中插入一行代码。下面的代码行我试图使用来执行:如何将一行php代码插入文本文件

这不工作(其实我是想什么):

$filePath = $_SERVER['DOCUMENT_ROOT']."/".$_SESSION['username']."/index.php"; 
$fp = fopen($filePath, 'wb') 
or die("can't open file"); 
$content = "<?php require($_SERVER['DOCUMENT_ROOT']."/home.php"); ?>"; 
fwrite($fp,$content); 
fclose($fp); 

虽然这确实:

$filePath = $_SERVER['DOCUMENT_ROOT']."/".$_SESSION['username']."/index.php"; 
$fp = fopen($filePath, 'wb') 
or die("can't open file"); 
$content = "this is a string"; 
fwrite($fp,$content); 
fclose($fp); 

所以我想要的是内容变量中的代码进入'index.php'文件。任何帮助如何做到这一点?

+1

你得到的错误是什么?什么是输出到index.php文件? –

+0

谢谢你的帮助!它已被修复 – Skeellz

回答

0

你混合'"

Thise行:

$content = "<?php require($_SERVER['DOCUMENT_ROOT']."/home.php"); ?>"; 

应该是这样的:

$content = '<?php require($_SERVER["DOCUMENT_ROOT"]."/home.php"); ?>'; 

否则解释thinkts,在]."您的字符串结束,然后得到/home.php没有它之间没有它beeing一个字符串连接。因此你会得到一个php错误。

+0

你的工作不行 – Skeellz

+0

@Skeellz你有没有得到任何错误或警告?我改变了一下。你能试试吗? – DocRattie

+1

谢谢你的帮助! – Skeellz

0

使用该行的单引号:

$content = '<?php require($_SERVER[\'DOCUMENT_ROOT\']."/home.php"); ?>'; 
+0

我试过你的答案仍然是相同的错误 – Skeellz

+0

你得到什么错误?什么是输出到index.php文件? –

0

使用\"

"<?php require($_SERVER['DOCUMENT_ROOT'].\"/home.php\"); ?>"; 
+0

我也试过你的同样的错误 – Skeellz

+0

你不必要地逃避双引号。由于语法错误,此代码不会执行:'PHP Parse error:syntax error,unexpected'“/home.php \”); ?>“'(T_CONSTANT_ENCAPSED_STRING),期待标识符(T_STRING)' – amphetamachine

+0

是啊......谢谢你!只是修好了!错误就像你说的那样....单个n双引号 – Skeellz