массив в xml или xspf сделать файл xspf для встраивания плейлиста vlc lugin

я пытаюсь ввести флажок списка текущей папки .mp3 получить с помощью функции gob glob_grace перечислить аудио файлы с помощью флажка затем

получить значения флажка массива сделать файл xspf используя php

я пишу код все для массива в XML

но небольшая ошибка, пожалуйста, кто-нибудь сказать мне, что ошибка и ошибка, где произошла!

<?php
foreach (glob("*.{mp3,mp4}", GLOB_BRACE) as $filename) {
$values = $filename ;
echo "<form action='p.php' method='POST'>";
echo "<input type='checkbox' name='foo[]' value='$values'>$values <hr>";

}
echo "<input type='submit' name='submit' value='Submit'>";
echo "</form>";

?>

это пойдет на следующую страницу ниже

<?php
$g = $_POST['foo'];
$cnt = count($g);
//function definition to convert array to xml
function array_to_xml($array, &$xml_user_info) {
for ($i=0 ; $i < $cnt ;$i++)
{
$track = $xml_user_info->addChild('track');
$track->addChild("location",$array[$i]);
}

}

//creating object of SimpleXMLElement
$xml_user_info = new SimpleXMLElement("<?xml version=\"1.0\"?><trackList></trackList>");

//function call to convert array to xml
array_to_xml($g,$xml_user_info);

//saving generated xml file
$xml_file = $xml_user_info->asXML('users.xspf');

//success and error message based on xml creation
if($xml_file){
echo 'XML file have been generated successfully.';
}else{
echo 'XML file generation error.';
}
?>

пожалуйста, дайте мне ответ решение рабочего кода

заранее спасибо

0

Решение

Если glob("*.{mp3,mp4}", GLOB_BRACE) возвращает массив с более чем 1 элементом, вы генерируете <form action='p.php' method='POST'> пометить несколько раз.

Может быть, вы могли бы переместить объявление формы за пределы foreach,

Если я отправляю форму и загружаю p.php, Я получаю это уведомление:

Примечание: неопределенная переменная: cnt

Ты используешь $cnt = count($g); чтобы посчитать предметы, но вы могли бы также передать это $g и посчитать его предметы внутри function array_to_xml,

Я думаю, что если вы хотите получить значение от $_POST['foo'], вы должны сначала проверить, если это POST, а затем проверить, если $_POST['foo'] установлено.

Может быть, эта настройка поможет вам:

<?php

//function definition to convert array to xml
function array_to_xml($array, &$xml_user_info)
{
for ($i = 0; $i < count($array); $i++) {
$track = $xml_user_info->addChild('track');
$track->addChild("location", $array[$i]);
}
}

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['foo'])) {
$g = $_POST['foo'];

//creating object of SimpleXMLElement
$xml_user_info = new SimpleXMLElement("<?xml version=\"1.0\"?><trackList></trackList>");

//function call to convert array to xml
array_to_xml($g, $xml_user_info);

//saving generated xml file
$xml_file = $xml_user_info->asXML('users.xspf');

//success and error message based on xml creation
if ($xml_file) {
echo 'XML file have been generated successfully.';
} else {
echo 'XML file generation error.';
}
}
}
?>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]