-1

我想编写检查几个条件的 PHP 代码,然后在加载的页面上触发 JavaScript。

php文件是:

$jwplayer= "<script>jwplayer('video1').setup({playlist:$file});</script>";
$url2= "http://$_SERVER[HTTP_HOST]/index.php";
$url3= "http://$_SERVER[HTTP_HOST]/index3.php";
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
if($url2==$url) {
  $file= "/media/video.xml";
  echo $jwplayer;
}
 if($url3==$url) {
  $file= "/media/video2.xml";
  echo $jwplayer;
}

我正在使用 PHP include 来包含上述代码。

如果页面的 URL 等于$url2上面的值,那么我希望更新播放列表。这可以通过设置$file为“/media/video.xml”并执行我试图包含的所需 JavaScript 来完成。

4

5 回答 5

1

试试这个:

$file= "/media/default.xml";

$url = "http://" . $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI];
$url2= "http://$_SERVER[HTTP_HOST]/index.php";

if($url2==$url) {
    $file= "/media/video.xml";
}

$jwplayer= "<script>jwplayer(\"video1\").setup({playlist:".$file."});</script>";
echo $jwplayer;
于 2013-04-02T20:10:23.883 回答
1

我将从修复您的语法错误开始,然后从那里开始:

function jwPlayer($xml) {
    echo("<script>jwplayer('video1').setup({playlist:'$xml'});</script>");
}
$url2= "http://" . $_SERVER["HTTP_HOST"] . "/index.php";
$url = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
if($url2 == $url) {
    $file= "/media/video.xml";
    jwPlayer($file);
} else {
    jwPlayer("path/to/other/file.xml");
}

在使用后定义变量只会给您带来问题。

于 2013-04-02T20:13:18.453 回答
0

也许像这样

$file = "somefile.xml";
$url2= "http://$_SERVER[HTTP_HOST]/index.php";
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; 
if($url2==$url) 
    $file= "/media/video.xml";
$jwplayer= "<script>jwplayer(\"video1\").setup({playlist:$file});</script>";
echo $jwplayer;
于 2013-04-02T20:12:54.850 回答
0

试试这个..

$url2= "http://$_SERVER[HTTP_HOST]/index.php";
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

if($url2==$url) {
  $file= "/media/video.xml";
  echo $jwplayer= "<script>jwplayer("video1").setup({playlist:$file});</script>";
}

在您的代码中,您似乎试图通过回显脚本来获取 $file 的值。

希望有帮助

于 2013-04-02T20:25:41.520 回答
0

这段代码中有一些错误。

在你分配这个字符串的那一刻,变量$file是未定义的,你必须先定义它。

$jwplayer= "<script>jwplayer('video1').setup({playlist:$file});</script>"

在 javascript 对象文字上,您必须引用一个字符串。如果不这样做,变量的内容$file将成为未定义的 javascript 变量。

{playlist:"$file"} //playlist is a string

试试这个

$url2 = "http://$_SERVER[HTTP_HOST]/index.php";
$url = "http://" . $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI];
if($url2==$url) {
    $file= "/media/video.xml";
    $jwplayer= "<script>jwplayer('video1').setup({playlist:'$file'});</script>";
    echo $jwplayer;
}

我不确定“恒定”是什么意思,但我会做这样的事情,但我不能确定这是否适用于实际问题中提供的少量信息。

<?php
    $url2 = "http://$_SERVER[HTTP_HOST]/index.php";
    $url = "http://" . $_SERVER[HTTP_HOST] . $_SERVER[REQUEST_URI];
    $file = "";
    if($url2==$url) {
        $file = "/media/video.xml";
    }
?>

<script>
jwplayer('video1').setup({playlist:'<?=$file>'});
</script>
于 2013-04-02T20:35:34.777 回答