使用simplexml_load_file时如何传递变量?

时间:2012-03-20 06:03:49

标签: php post simplexml

我对PHP很陌生,请原谅我的问题,因为这个社区中的人们可能会更容易回答这个问题。

我设置了一个变量来从表单中检索用户文本输入。我为此设置了一个变量,并简单地使用了$ _POST函数。我现在正试图将输入传递给另一个加载XML文件的变量,然后通过simplexml_load_file函数加载。

我收到错误,所以我希望有人能帮助我。

我目前的代码:

<?php

$videoUSERNAME = $_POST['username'];
$feedURL = 'http://gdata.youtube.com/feeds/api/users/$videoUSERNAME/uploads?max-results=50';
$sxml = simplexml_load_file($feedURL);
$media = $sxml->entry->children('media', true);
parse_str(parse_url((string)$media->group->player->attributes()->url, PHP_URL_QUERY), $vidArr);
?>

1 个答案:

答案 0 :(得分:0)

尝试这样的事情

if (!isset($_POST['username'])) {
    throw new RuntimeException('No username set!');
}
$feedURL = sprintf('http://gdata.youtube.com/feeds/api/users/%s/uploads?max-results=50',
    rawurlencode($_POST['username']));

原始代码根本不起作用的原因是您试图将变量插入到单引号字符串中。这不起作用。见http://php.net/manual/en/language.types.string.php