Как вы передаете переменную при использовании simplexml_load_file? - PullRequest
0 голосов
/ 20 марта 2012

Я довольно новичок в 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 голосов
/ 20 марта 2012

Попробуйте что-то вроде этого

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

...