Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-创建VLC播放列表_Php_Xml_Simplexml_Vlc - Fatal编程技术网

PHP-创建VLC播放列表

PHP-创建VLC播放列表,php,xml,simplexml,vlc,Php,Xml,Simplexml,Vlc,我目前正在尝试用PHP创建一个VLC播放列表。这在SimpleXML中非常有效,但有一点我被卡住了。 VLC播放列表需要一个起始标签,如: <?xml version="1.0" encoding="UTF-8"?> 但是简单XML总是围绕整个元素创建一个XML标记,如下所示 <xml> <tag></tag> </xml> 但我需要的是: <?xml version="1.0" encoding="UTF-8

我目前正在尝试用PHP创建一个VLC播放列表。这在SimpleXML中非常有效,但有一点我被卡住了。 VLC播放列表需要一个起始标签,如:

<?xml version="1.0" encoding="UTF-8"?>

但是简单XML总是围绕整个元素创建一个XML标记,如下所示

<xml>
    <tag></tag>
</xml>

但我需要的是:

<?xml version="1.0" encoding="UTF-8"?>
<playlist xmlns="[...]" xmlns:vlc="[...]" version="1"> 
    <title>Test<title>
    <trackList>
        [...]
    </trackList>
</playlist> 

试验
[...]

如何使用simpleXML创建这样的xml文件

您错过了XML的一些细节,这些细节会让您陷入错误的假设。让我们来说明一下:

VLC播放列表需要一个起始标签,如:

<?xml version="1.0" encoding="UTF-8"?>

这在很多方面都是错误的。首先,这不是一个开始标记。这就是所谓的。所以它不是一个起始标签,而是一些不同的东西

第二,VLC不需要这样做。XML声明是可选的,因此它适用于VLC

但是简单XML总是围绕整个元素创建一个XML标记,如下所示

<xml>
    <tag></tag>
</xml>
不,简单XML可以很好地处理这个问题。它不会在整个元素周围创建xml标记。你所做的实际上是错误的,导致了错误的结果。但在本例中,这不是SimpleXML的错,而是您的错(您没有共享代码,所以请原谅我在这里所做的概括)

然后,您将询问如何使用SimpleXML创建一些XML文件。您分享的(很少)信息如下:

$playlist = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><playlist xmlns="uri:1" xmlns:vlc="uri:2" version="1"/>');
$playlist->title = 'Test';
$playlist->trackList = "[...]";
$playlist->asXML('php://output');
$playlist=新的SimpleXMLElement(“”);
$playlist->title='Test';
$playlist->trackList=“[…]”;
$playlist->asXML($playlist)php://output');
然后输出为:

<?xml version="1.0" encoding="utf-8"?>
<playlist xmlns="uri:1" xmlns:vlc="uri:2" version="1"><title>Test</title><trackList>[...]</trackList></playlist>

试验[…]

如果您想让它很好地打印出来,请参见这里:

您错过了一些关于XML的细节,这些细节会让您陷入错误的假设。让我们来说明一下:

VLC播放列表需要一个起始标签,如:

<?xml version="1.0" encoding="UTF-8"?>

这在很多方面都是错误的。首先,这不是一个开始标记。这就是所谓的。所以它不是一个起始标签,而是一些不同的东西

第二,VLC不需要这样做。XML声明是可选的,因此它适用于VLC

但是简单XML总是围绕整个元素创建一个XML标记,如下所示

<xml>
    <tag></tag>
</xml>
不,简单XML可以很好地处理这个问题。它不会在整个元素周围创建xml标记。你所做的实际上是错误的,导致了错误的结果。但在本例中,这不是SimpleXML的错,而是您的错(您没有共享代码,所以请原谅我在这里所做的概括)

然后,您将询问如何使用SimpleXML创建一些XML文件。您分享的(很少)信息如下:

$playlist = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><playlist xmlns="uri:1" xmlns:vlc="uri:2" version="1"/>');
$playlist->title = 'Test';
$playlist->trackList = "[...]";
$playlist->asXML('php://output');
$playlist=新的SimpleXMLElement(“”);
$playlist->title='Test';
$playlist->trackList=“[…]”;
$playlist->asXML($playlist)php://output');
然后输出为:

<?xml version="1.0" encoding="utf-8"?>
<playlist xmlns="uri:1" xmlns:vlc="uri:2" version="1"><title>Test</title><trackList>[...]</trackList></playlist>

试验[…]

如果您想让它很好地打印出来,请参见这里:

您错过了一些关于XML的细节,这些细节会让您陷入错误的假设。让我们来说明一下:

VLC播放列表需要一个起始标签,如:

<?xml version="1.0" encoding="UTF-8"?>

这在很多方面都是错误的。首先,这不是一个开始标记。这就是所谓的。所以它不是一个起始标签,而是一些不同的东西

第二,VLC不需要这样做。XML声明是可选的,因此它适用于VLC

但是简单XML总是围绕整个元素创建一个XML标记,如下所示

<xml>
    <tag></tag>
</xml>
不,简单XML可以很好地处理这个问题。它不会在整个元素周围创建xml标记。你所做的实际上是错误的,导致了错误的结果。但在本例中,这不是SimpleXML的错,而是您的错(您没有共享代码,所以请原谅我在这里所做的概括)

然后,您将询问如何使用SimpleXML创建一些XML文件。您分享的(很少)信息如下:

$playlist = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><playlist xmlns="uri:1" xmlns:vlc="uri:2" version="1"/>');
$playlist->title = 'Test';
$playlist->trackList = "[...]";
$playlist->asXML('php://output');
$playlist=新的SimpleXMLElement(“”);
$playlist->title='Test';
$playlist->trackList=“[…]”;
$playlist->asXML($playlist)php://output');
然后输出为:

<?xml version="1.0" encoding="utf-8"?>
<playlist xmlns="uri:1" xmlns:vlc="uri:2" version="1"><title>Test</title><trackList>[...]</trackList></playlist>

试验[…]

如果您想让它很好地打印出来,请参见这里:

您错过了一些关于XML的细节,这些细节会让您陷入错误的假设。让我们来说明一下:

VLC播放列表需要一个起始标签,如:

<?xml version="1.0" encoding="UTF-8"?>

这在很多方面都是错误的。首先,这不是一个开始标记。这就是所谓的。所以它不是一个起始标签,而是一些不同的东西

第二,VLC不需要这样做。XML声明是可选的,因此它适用于VLC

但是简单XML总是围绕整个元素创建一个XML标记,如下所示

<xml>
    <tag></tag>
</xml>
不,简单XML可以很好地处理这个问题。它不会在整个元素周围创建xml标记。你所做的实际上是错误的,导致了错误的结果。但在本例中,这不是SimpleXML的错,而是您的错(您没有共享代码,所以请原谅我在这里所做的概括)

然后,您将询问如何使用SimpleXML创建一些XML文件。您分享的(很少)信息如下:

$playlist = new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><playlist xmlns="uri:1" xmlns:vlc="uri:2" version="1"/>');
$playlist->title = 'Test';
$playlist->trackList = "[...]";
$playlist->asXML('php://output');
$playlist=新的SimpleXMLElement(“”);
$playlist->title='Test';
$playlist->trackList=“[…]”;
$playlist->asXML($playlist)php://output');
然后输出为:

<?xml version="1.0" encoding="utf-8"?>
<playlist xmlns="uri:1" xmlns:vlc="uri:2" version="1"><title>Test</title><trackList>[...]</trackList></playlist>

试验[…]
如果希望它打印得漂亮,请参见此处:

$xml=new simplexmlement(“”);
$trackList=$xml->addChild('trackList');
foreach($_POST['files']作为$video){
$track=$trackList->addChild('track');
$track->addChild('location','file://'.$tmp_dir.//'.$video['path']);
$track->addChild('title',$video['name']);
}
文件内容('playlist.xspf',$xml->asXML());
$xml=新的SimpleXMLElement(“”);
$trackList=$xml->addChild('trackList');
foreach($_POST['files']作为$video){
$track=$trackList->addChild('track');
$track->addChild('location','file://'.$tmp_dir.//'.$video['path']);
$track->addChild('title',$video['name']);
}
文件内容('playlist.xspf',$xml->asXML());
$xml=