.WPL ファイルを生成するスクリプトを作成しようとしています。スクリプトは、すべての .mp3 ファイルのフォルダーをスキャンし、それらを .wpl ファイルに含めます。ただし、Windows メディア プレーヤーでファイルが破損しているというエラーが表示されるため、機能していないようです。
コードの何が問題になっていますか? :)
$ourFileName = "Playlist.wpl";
$ourFileHandle = fopen($ourFileName, 'w') or die("can't open file");
echo "Created the playlist <br />";
$firsthalf = "
<?wpl version='1.0'?>
<smil>
<head>
<meta name='Generator' content='Microsoft Windows Media Player -- 12.0.9200.16384'/>
<meta name='IsNetworkFeed' content='0'/>
<title>Playlist</title>
</head>
<body>
<seq>";
$secondhalf = "
</seq>
</body>
</smil>
";
fwrite($ourFileHandle, $firsthalf);
foreach (glob("*.mp3") as $filename) {
fwrite($ourFileHandle, "<media src='".$filename."'/>");
}
fwrite($ourFileHandle, $secondhalf);
fclose($ourFileHandle);
編集: 生成された .wpl ファイルは次のようになります。
<?wpl version='1.0'?>
<smil>
<head>
<meta name='Generator' content='Microsoft Windows Media Player -- 12.0.9200.16384'/>
<meta name='IsNetworkFeed' content='0'/>
<title>Playlist</title>
</head>
<body>
<seq><media src='FIRST SONG.mp3'/><media src='SECOND SONG.mp3'/>
</seq>
</body>
</smil>
EDIT2: 曲は、プレイリスト ファイルと同じフォルダーにあります。EDIT3: Windows 8 RTM に含まれている最新の Windows Media Player を使用しています。