0

次のコードは、 $start $result 変数のようなコードを含む新しい php ファイルのプレイリスト.php を生成します。

$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に次のコードを生成します。

4

2 に答える 2

0
echo highlight_file(__FILE__,true);  

http://www.php.net/manual/en/function.show-source.php

これにより、現在のファイルのソースコードが返されます。

于 2012-07-28T18:33:45.763 に答える
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 チュートリアルをいくつか見てみましょう。

SO、コンテンツをファイルに書き込む代わりに、エコーし、エコー中に動的なものを追加します。

$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>

于 2012-07-28T18:58:12.060 に答える