如何使用PHP将PHP内容保存到文件
大家好,我最近刚刚制作了一个FLASH AS3 XML播放列表播放器,除了我必须键入所有XML的部分之外,它工作得非常好。 有人帮我编译了这段代码,效果很好,但我希望能够将XML保存到文件中,而不仅仅是读取它。并在给定文件夹中.mp3的数量增加时进行自我更新如何使用PHP将PHP内容保存到文件,php,xml,getid3,Php,Xml,Getid3,大家好,我最近刚刚制作了一个FLASH AS3 XML播放列表播放器,除了我必须键入所有XML的部分之外,它工作得非常好。 有人帮我编译了这段代码,效果很好,但我希望能够将XML保存到文件中,而不仅仅是读取它。并在给定文件夹中.mp3的数量增加时进行自我更新 require_once('getid3/getid3.php'); $dir = $_GET['folder']; $xmlBody = '<?xml version="1.0" encoding="ISO-
require_once('getid3/getid3.php');
$dir = $_GET['folder'];
$xmlBody = '<?xml version="1.0" encoding="ISO-8859-1"?>';
$xmlBody .= "<XML>";
$getID3 = new getID3;
$DirectoryToScan = 'SOUNDS';
$dirHandle = opendir($dir);
$strIsNull = "not found";
$i = 0;
while (($file = readdir($dirHandle)) !== false) {
$FullFileName = realpath($dir.'/'.$file);
if ((substr($FullFileName, 0, 1) != '.') && is_file($FullFileName)) {
$i++;
set_time_limit(30);
$ThisFileInfo = $getID3->analyze($FullFileName);
getid3_lib::CopyTagsToComments($ThisFileInfo);
$xmlBody .= '<Song>';
$xmlBody .= '<songNum>' . $i . '</songNum>
<songURL>' .basename($ThisFileInfo['filenamepath']).'</songURL>
<songArtist>' .(!empty($ThisFileInfo['comments_html']['artist']) ? implode('<br>',$ThisFileInfo['comments_html']['artist']) : $strIsNull) .'</songArtist>
<songTitle>' .(!empty($ThisFileInfo['comments_html']['title']) ?implode('<br>', $ThisFileInfo['comments_html']['title']) : $strIsNull) . '</songTitle>
<songSize>' .round($ThisFileInfo['audio']['bitrate'] / 1000).' kbps </songSize>
<songDuration>' . $ThisFileInfo['playtime_string'].' </songDuration>';
$xmlBody .= '</Song>';
}
}
$xmlBody .= "</XML>";
header('Content-type: text/xml');
echo $xmlBody;
require_once('getid3/getid3.php');
$dir=$_GET['folder'];
$xmlBody='';
$xmlBody.=”;
$getID3=新的getID3;
$DirectoryToScan='SOUNDS';
$dirHandle=opendir($dir);
$strisnall=“未找到”;
$i=0;
while(($file=readdir($dirHandle))!==false){
$FullFileName=realpath($dir.'/'.$file);
if((substr($FullFileName,0,1)!='。)&&is_文件($FullFileName)){
$i++;
设置时间限制(30);
$ThisFileInfo=$getID3->analyze($FullFileName);
getid3_lib::CopyTagsToComments($ThisFileInfo);
$xmlBody.='';
$xmlBody.=''.$i'
“.basename($ThisFileInfo['filenamepath'])”
“.(!empty($ThisFileInfo['comments\u html']['artist'])?内爆('
',$ThisFileInfo['comments\u html']['artist']):$strisnall)。”
“(!empty($ThisFileInfo['comments\u html']['title'])?内爆(“
”,$ThisFileInfo['comments\u html']['title']):$strisnall)。”
.round($ThisFileInfo['audio']['bitrate']/1000)。'kbps
“.$ThisFileInfo['playtime_string']。”;
$xmlBody.='';
}
}
$xmlBody.=”;
标题('Content-type:text/xml');
echo$xmlBody;
尝试添加文件内容('playlist.m3u',$xmlBody)代码>至文件末尾-这将在playlist.m3u
中保存播放列表的内容。您可以将其与您已有的所有代码一起使用,或者如果不需要,只需禁用/删除echo即可
至于您的第二个问题-为了使用新文件夹内容更新文件,您需要:
a) 让另一个进程监视器进行更改,然后调用此php脚本/文件
b) 在您的服务器上
或
c) 通过调用例如http://localhost/my-m3u-generator.php
按照您的建议添加了额外的代码并删除了echo,但运行了代码,没有创建.m3u文件。尚未尝试第二个建议。可能您没有在该文件夹中保存新文件的权限。解决方法之一是手动创建文件playlist.m3u
,一旦更改其权限,脚本就可以访问它(您可以使用0777进行尝试,然后再进一步涉猎权限),然后重新运行脚本。