自從我做了任何PHP編碼以來,已經很長時間了,所以我真的回到了原來的位置,如果我錯過了一些非常明顯/微不足道的事情,我會提前道歉。如何在變量中放置變量PHP
我想創建一個表單,它處理並提交數據並將一段代碼附加到XML文件的特定部分。
這是我有
<? $title = $_POST['title'] ;
$author = $_POST['author'];
$filesize = $_POST['filesize'];
$pubdate = $_POST['pubdate'];
$duration = $_POST['duration'];
$summary = $_POST['summary'];
$key = '<itunes:category text="Business"></itunes:category>';
$newline = '<item>
<title>$title</title>
<link>http://example.com/CS/podcast/<? php echo($target_path);?></link>
<itunes:author>$author</itunes:author>
<itunes:summary><?php echo($summary); ?></itunes:summary>
<enclosure url="http://example.com/CS/$targetpath" length="$filesize" type="audio/mpeg"/>
<guid>http://www.example.com/CS/podcast/<? php echo($target_path);?></guid>
<pubDate><?php echo($pubdate);?></pubDate>
<itunes:duration><?php echo($duration);?></itunes:duration>
<itunes:keywords>My Podcast</itunes:keywords>
<category>Podcasts</category>
<itunes:explicit>no</itunes:explicit>
</item>';
//copy file to prevent double entry
$file = "list.xml";
$newfile = "listtemp.xml";
copy($file, $newfile) or exit("failed to copy $file");
//load file into $lines array
$fc = fopen ($file, "r");
while (!feof ($fc))
{
$buffer = fgets($fc, 4096);
$lines[] = $buffer;}
fclose ($fc);
//open same file and use "w" to clear file
$f=fopen($newfile,"w") or die("couldn't open $file");
/* uncomment to debug
print_r($lines);
print "<br>\n";
*/
//loop through array using foreach
foreach($lines as $line){
fwrite($f,$line); //place $line back in file
if (strstr($line,$key)){ //look for $key in each line
fwrite($f,$newline."\n");
} //place $line back in file }
fclose($f);
copy($newfile, $file) or exit("failed to copy $newfile");
echo "done";
echo "$newline";?>
我似乎是,它完美地追加代碼放到正確的地方,但顯示器$標題,而不是輸入標題同樣是真正的問題
我認爲問題在於你不能在另一個變量中有一個變量,因爲如果任何人都可以將代碼輸入到表單中,這是否有危險?我甚至不需要嚴密的安全措施,因爲這對於內部使用來說是不合理的。
找到
http://uk3.php.net/manual/en/function.eval.php 但未能將其善加利用。
感謝信
如果我理解正確,您希望將**實際變量**寫入文件而不是其值? – MisterBla
您並不需要頂部打開關閉php標籤,當你已經在PHP –