2017-02-11 107 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>