2017-02-11 133 views
0

此刻,如果我运行此脚本,它创建如预期的HTML页面,但我有麻烦,有它采取考虑的变量,例如例如$ _GET请求。file_put_contents - 将包含自定义变量

这里面的语音标记,并使用file_put_contents被发送到一个新的网页在我的网站,我的目标是有它的FROM发送的页面上定义的变量代码。

在短;在页面AI有一个创建新文件的代码,在页面AI可以做类似/目录/至/页/?从+栈 SET =你好+,它会创建新的文件,并在那里说:变种代码='';我希望它是取得请求,所以它会是var code ='来自堆栈的Hello';

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset='UTF-8'> 
    <script> var code = '<?php echo $php_variable; ?>';</script> 
    // This is what I'm having trouble with, 
</head> 
<body> 
    <div class='container'> 
    <pre class='code-sample'> 
    <div class='heading'>CODE</div> 
    <div class='code-wrap'> 
     <code></code> 
    </div> 
    </pre> 
</div> 
</body> 
</html> 

这是我用来创建该文件的代码;

$file = 'it.html'; 
$data = " 
<!DOCTYPE html> 
<html> 
<head> 
    <meta charset='UTF-8'> 
    <script> var code = 'I WANT THIS TO BE THE VARIABLE $GET I DEFINED FROM PAGE A';</script> 
</head> 
<body> 
    <div class='container'> 
    <pre class='code-sample'> 
    <div class='heading'>CODE</div> 
    <div class='code-wrap'> 
     <code></code> 
    </div> 
    </pre> 
</div> 
"; 

file_put_contents($file, $data); 
+0

'file_put_contents()'是不喜欢'的printf()'。它不具有任何自定义变量替换功能。你可以根据需要编写字符串,并用它来提供。你可以学习更多[这里](http://php.net/manual/en/language.types.string.php)。 –

回答

1

假设你有含有$GET['SET']一个字符串,那么所有你必须记住的是,在一个双引号的字符串使用数组时任一引用数组作为

$_GET[SET]  // without the quotes around the index name 

或者

{$_GET['SET']} // wrap the array in {}, this is my preference 

所以这应该做你想做的

$_GET['SET'] = 'Hello from stack';  // just here for testing 

$file = 'it.html'; 
$data = " 
<!DOCTYPE html> 
<html> 
<head> 
    <meta charset='UTF-8'> 
    <script> var code = '{$_GET['SET']}';</script> 
</head> 
<body> 
    <div class='container'> 
    <pre class='code-sample'> 
    <div class='heading'>CODE</div> 
    <div class='code-wrap'> 
     <code></code> 
    </div> 
    </pre> 
</div> 
"; 

结果

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset='UTF-8'> 
    <script> var code = 'Hello from stack';</script> 
</head> 
<body> 
    <div class='container'> 
    <pre class='code-sample'> 
    <div class='heading'>CODE</div> 
    <div class='code-wrap'> 
     <code></code> 
    </div> 
    </pre> 
</div>