2013-03-17 88 views
0

我想要回显一个通过Netflix API生成的URL。该URL保存在变量$ movieid中,当'echo $ movieid;'时键入它的作品。我需要从PHP和Netflix提供的JavaScript中获得价值,这就是我遇到问题的地方。非常奇怪的PHP回声错误

假设我有titleID = 7474747。当我键入下面的代码:

$movieid = "http://api.netflix.com/catalog/movie/".$titleID; 
echo $movieid; 

我得到以下输出:

[http]://api.netflix.com/catalog/movie/7474747 

但使用下面的代码时:

<div id="myMovieLocation"> 
    <?php echo "<img src=\"$img\" />"; ?> 
    <script src="[http]://jsapi.netflix.com/us/api/js/api.js"> 
    { 
    "title_id" : "<?php print $movieid; ?>", 
    "button_type" : ["PLAY_BUTTON", "ADD_BUTTON"], 
    "show_logo" : "true", 
    "x" : "40", 
    "y" : "20", 
    "dom_id" : "myMovieLocation", 
    "application_id" : "<?php echo $apiKey; ?>" 
    } 
    </script> 

我没有得到相同的输出$ movieid。快速浏览源代码总是显示没有附加数字的原始URL,如下所示:

"title_id" : "[http]://api.netflix.com/catalog/movie/", 

除此之外,其他一切都很好。我试过回显,打印,不同的变量名称,似乎没有任何工作。

感谢您的任何帮助。

+0

作为补充,我尝试了“title_id”:“http://api.netflix.com/catalog/movie/”,但仍未能追加数字。 – Ash 2013-03-17 00:50:52

+0

为什么您的脚本源于'[http]'括号内?或者有什么我不知道的?你试过了,没有'http'的括号吗? – 2013-03-17 00:51:12

+0

我无法在一个文件中拥有超过2个链接,并且似乎停止了投诉。对不起,不提。 – Ash 2013-03-17 00:52:34

回答

0

只需更改自己的代码,str_replace("[http]", "http://", $movie_id);

如果你把var_dump($movie_id);放在哪里,你会得到什么?分享结果....

试试这个:

"title_id" : \"<?php print $movieid; ?>\",

如果您收到NULL或没有它的一些错可变$movie_id返回结果?

尝试转换为字符串,我想您会收到INT所以它不能解析例如:

echo (string) $movie_id;

或者使用strval(),以确保您的整数转换成字符串:

echo strval($movie_id);

由于错误:Output from "title_id" : \"<?php print $movieid; ?>\" is: "title_id" : \"api.netflix.com/catalog/movie\",

p UT到PHP代码"

"title_id" : <?php print 'http://"'.$movieid.'"/'.$title_id; ?>, 

或者以另一种方式,解析使用PHP json_encode

<div id="myMovieLocation"> 
    <?php echo "<img src=\"$img\" />"; ?> 
    <script src="[http]://jsapi.netflix.com/us/api/js/api.js"> 
    { 
    <?php 

    $movie_id_result = (string)$movieid; 

    $a = array 
    ("title_id" => "http://api.netflix.com/catalog/movie/".$movie_id_result, 
    "button_type" => "[\"PLAY_BUTTON\", \"ADD_BUTTON\"]", 
    "show_logo" => "true", 
    "x" => "40", 
    "y" => "20", 
    "dom_id" => "myMovieLocation", 
    "application_id" => $apiKey 
    ); 

    echo json_encode($a, JSON_UNESCAPED_SLASHES); 
    ?> 
    } 
    </script> 

并返回PHP的结果时要注意:

titleID = 7474747其中7474747可以是整型(INT )。当您转换为JSON时,请确保它是使用strval()的字符串,或者在变量之前添加(string)。整数作为结果可能会混淆到json解析器。

Neflix API为PHP

如果这没有解决,使用PHP API Netflix公司从source为样本PHP。

+0

var_dump返回一个空格字符 echo返回URL – Ash 2013-03-17 00:58:30

+0

'var_dump($ movie_id)'returns' NULL /(nothing)'所以你不返回结果。 – 2013-03-17 01:00:23

+0

从“title_id”输出:\“<?php print $ movieid;?> \”为: “title_id”:\“http://api.netflix.com/catalog/movie/ \”, – Ash 2013-03-17 01:05:07