我今天测试云网影视PHP程序时,发现由于数据库中储存每一集用的换行提取的时候没有过滤的原因不能够播放下一集.
原代码如下:
function playtyepcode($id,$playurlnum,$moviename)
{
global $db,$webdir;
$strSql="SELECT datalist,typeplayer FROM vodphp_movieurl WHERE id =$id";
$db->query($strSql);
if($db->next_record())
{
$typeplayerid=$db->Record["typeplayer"];
$movieplayurl=explode("\r",$db->Record["datalist"]);
$urllink=explode("$",$movieplayurl[$playurlnum]);
if(isset($urllink[1]))
$movieurllink=$urllink[0];
else
$movieurllink=$movieplayurl[$playurlnum];
}将代码换成如下样子,主要是过滤换行符:
function playtyepcode($id,$playurlnum,$moviename)
{
global $db,$webdir;
$strSql="SELECT datalist,typeplayer FROM vodphp_movieurl WHERE id =$id";
$db->query($strSql);
if($db->next_record())
{
$typeplayerid=$db->Record["typeplayer"];
$movieplayurl=explode("\r",$db->Record["datalist"]);
$urllink=explode("$",$movieplayurl[$playurlnum]);
if(isset($urllink[1])){
$movieurllink=$urllink[0];
$movieurllink=str_replace("\n","",$movieurllink);
}
else
$movieurllink=$movieplayurl[$playurlnum];
$movieurllink=str_replace("\n","",$movieurllink);
}
结果发现换行符被过滤掉了,播放也正常了,但页面上部有错误提示:
Warning: Missing argument 3 for playtyepcode(), called in E:\www\20081103\wwwroot\play.php on line 51 and defined in E:\www\20081103\wwwroot\inc\playfunciton.php on line 2这是什么原因造成的呢?