无法加载外部实体“”

时间:2013-04-02 02:51:45

标签: php api simplexml

基本上这是一个搜索栏,我把搜索到的术语放在api调用网址中,但是我得到了

  

警告:simplexml_load_file()[function.simplexml-load-file]:I / O警告:无法加载外部实体“”

任何想法?

代码:

if (!empty($_POST['searchbird'])){
    $searchbird=rawurlencode($_POST['searchbird']);
    $searchCode = "http://ebird.org/ws1.1/data/obs/region_spp/recent?rtype=subnational2&r=US-AZ-013&sci=$searchbird";
    $url_headers = @get_headers($searchCode);

    if($url_headers[0] == 'HTTP/1.1 200 OK') {
        $xml = simplexml_load_file($url);

        print_r($xml);

    } else {
        // Error
        echo $searchCode;
        print_r($url_headers);
        exit("failed to load XML");
    }


} else {
    $searchbird = '';
    $form = "<form method='post'>
       <strong>Enter the name of a Bird</strong>
       <input type='text' name='searchbird' value='$searchbird' />
       <input type='submit' name='submit' value='submit' />
    </form>";
    echo $form;
}

1 个答案:

答案 0 :(得分:0)

您希望将函数中的变量从$url更改为$searchCode,因为$url变量为空且未在任何位置设置。

if (!empty($_POST['searchbird'])){
    $searchbird=rawurlencode($_POST['searchbird']);
    $searchCode = "http://ebird.org/ws1.1/data/obs/region_spp/recent?rtype=subnational2&r=US-AZ-013&sci=$searchbird";
    $url_headers = @get_headers($searchCode);

    if($url_headers[0] == 'HTTP/1.1 200 OK') {
        $xml = simplexml_load_file($searchCode);

        print_r($xml);
 ....