以下代码生成一个新的php文件playlist.php,其中包含$ start $ result变量中的代码
$path = "./files/";
$path2="http://".$_SERVER['SERVER_NAME'].dirname($_SERVER["PHP_SELF"])."/files/";
//echo $path2;
$folder = opendir($path);
$start="<asx version='3.0'>\n<title>Example ASX playlist</title>";
$Fnm = "./playlist.php";
$inF = fopen($Fnm,"w");
fwrite($inF,$start."\n");
while( $file = readdir($folder) ) {
if (($file != '.')&&($file != '..')&&($file != 'index.htm')){
$result="<entry>\n<title>$file</title>\n<ref href='$path2$file'/>\n<param name='image' value='preview.jpg'/>\n</entry>\n";
fwrite($inF,$result);
}
}
fwrite($inF,"</asx>");
closedir($folder);
fclose($inF);
我想在同一个文件中生成相同的代码,该文件在指定的行号上包含此代码 这有可能吗?
上面的php脚本在新文件上生成以下代码 http://tinypaste.com/ff242cd6
答案 0 :(得分:0)
echo highlight_file(__FILE__,true);
http://www.php.net/manual/en/function.show-source.php
这会让你回到当前文件的源代码。
答案 1 :(得分:0)
以下是如何追加:
$path = "./files/";
$path2="http://".$_SERVER['SERVER_NAME'].dirname($_SERVER["PHP_SELF"])."/files/";
//echo $path2;
$folder = opendir($path);
$start="<asx version='3.0'>\n<title>Example ASX playlist</title>";
$Fnm = "./playlist.php";
// build content
$fileContent=$start.'/n';
while( $file = readdir($folder) ) {
if (($file != '.')&&($file != '..')&&($file != 'index.htm')){
$result="<entry>\n<title>$file</title>\n<ref href='$path2$file'/>\n<param name='image' value='preview.jpg'/>\n</entry>\n";
//append to content
$fileContent .= $result;
}
}
//append to content
$fileContent .= "</asx>";
// append to file and check status
if ( file_put_contents(__FILE__ , $fileContent , FILE_APPEND) === false )
{
echo "failed to put contents in ".__FILE__."<br>";
}
应该这样做......
编辑:
好的,在我进入它之前,你应该首先看一下可以在网上找到的一些基本的PHP教程。
所以,不要将内容写入文件,只需回显它,并在回显时添加动态内容:
$title='the title of your playlist';
$start="<asx version='3.0'>\n<title>".$title."</title>/n";
while( $file = readdir($folder) ) {
if (($file != '.')&&($file != '..')&&($file != 'index.htm')){
$result="<entry>\n<title>$file</title>\n<ref href='$path2.$file'/>\n<param name='image' value='preview.jpg'/>\n</entry>\n";
}
}
$endCont = $start.$result."</asx>";
echo $endCont;
我创建了一个名为$title
的新变量。其值将是输出中生成的标题。您可以使用其他代码执行此操作,就像使用<entry>\n<title>$file</title>
一样。