PHP调用我自己的JSON

时间:2012-03-22 16:39:51

标签: php json

<?php
    $pro = $_GET['pro'];
    $pro = mysql_real_escape_string($pro);
    $jsonurl = "index.php?z=".$pro;
    $json = file_get_contents($jsonurl) or die('Failed'); 
        $obj = json_decode($json);
    echo $obj->{'name'}                 
?>

我正在尝试调用我服务器上的JSON文件,但每次尝试都会出现此错误:

Warning: file_get_contents(index.php?z=1) [function.file-get-contents]: failed to open stream: No error in C:\wamp\www\dir\demo.php on line 5
Failed

我的索引文件PHP:

<?php
    ob_start();
        header("Access-Control-Allow-Origin: *");
        include 'server.php';
        include 'functions.php';
        //SQL and Vars Here
        echo '<pre style="word-wrap: break-word; white-space: pre-wrap;">'.json_encode($array).'</pre>';
ob_flush();
?>

2 个答案:

答案 0 :(得分:1)

file_get_contents需要绝对URL,您使用的是亲戚。如果脚本在同一台服务器上,为什么需要使用file_get_contents?解决方案是删除输出缓冲并仅删除require index.php。

旁注,您输出html(预标签)后将无法对响应进行json_decode。

答案 1 :(得分:0)

file_get_contents需要完整的网址。不只是文件路径。

例如:

$jsonurl = "http://www.yourwebsiteurl.co.uk/index.php?z=".$pro;