PHP没有使用完整的URL?

时间:2014-04-04 14:27:51

标签: php

这是我的代码:

<?php
$url = "https://api.datamarket.azure.com/opendata.rdw/VRTG.Open.Data/v1/KENT_VRTG_O_DAT?$filter=Kenteken%20eq%20%2701GBB1%27";
$xml =  simplexml_load_file($url);
?>

我试图把这个.XML文件放到我的$ url中。问题是它的使用 https://api.datamarket.azure.com/opendata.rdw/VRTG.Open.Data/v1/KENT_VRTG_O_DAT而不是带过滤器的那个: https://api.datamarket.azure.com/opendata.rdw/VRTG.Open.Data/v1/KENT_VRTG_O_DAT?$滤波器= Kenteken%20当量%20%2701GBB1%27

为什么不接受我输入的网址?当我在浏览器中打开URL时,我得到了过滤后的URL,但是当我运行代码时,它会给我另一个.XML。

我希望有人可以帮助我。

3 个答案:

答案 0 :(得分:5)

您正在使用双引号,因此php会将$filter解释为(可能是未定义的...)变量。

您可以使用单引号来避免这种情况:

$url = 'https://api.datamarket.azure.com/opendata.rdw/VRTG.Open.Data/v1/KENT_VRTG_O_DAT?$filter=Kenteken%20eq%20%2701GBB1%27';

答案 1 :(得分:1)

使用单引号。

然后re-read the docs

答案 2 :(得分:0)

你试过这个吗?

<?php
$url='https://api.datamarket.azure.com/opendata.rdw/VRTG.Open.Data/v1/KENT_VRTG_O_DAT?    $filter=Kenteken%20eq%20%2701GBB1%27';

$xml = new SimpleXMLElement(file_get_contents($url));
?>