PHP,CURL,WebDAV和SEARCH方法 - php

我将如何在PHP中重新创建以下curl语句?

curl http://www.example.com/path/to/folder/ -X SEARCH -d @dasl.xml

到目前为止,这是我所拥有的,而“ dasl.xml”文件就是让我绊倒的东西。

$ch = curl_init("http://www.example.com/path/to/folder/");
$fp = fopen("webdav.xml", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "SEARCH");
curl_exec($ch);
curl_close($ch);
fclose($fp);

dasl.xml文件包含用于查询WebDAV的XML。有没有可以用来传递该文件的选项?还是有一种方法可以将文件的内容作为字符串或其他形式传递?

我当前收到的错误声明是

DaslStatement:267-SAX解析器错误文件的结尾过早。

谢谢您的帮助。

更新:

这是一个示例dasl.xml文件:

 <d:searchrequest xmlns:d="DAV:">
  <d:basicsearch>
    <d:select>
      <d:prop><d:getcontentlength/></d:prop>
    </d:select>
    <d:from>
      <d:scope>
        <d:href>/container1/</d:href>
        <d:depth>infinity</d:depth>
      </d:scope>
    </d:from>
    <d:where>
      <d:gt> 
        <d:prop><d:getcontentlength/></d:prop>
        <d:literal>10000</d:literal>
      </d:gt>
    </d:where>
    <d:orderby>
      <d:order>
        <d:prop><d:getcontentlength/></d:prop>
        <d:ascending/>
      </d:order>
    </d:orderby>
  </d:basicsearch>
</d:searchrequest>

有关DASL的更多信息,请参见:http://greenbytes.de/tech/webdav/rfc5323.html和[http://www.webdav.org/dasl/][2]

参考方案

您可以在自定义上下文中使用file_get_contents。因此,您不需要为此使用cURL。类似于以下内容:

$url = 'http://www.example.com/path/to/folder/';
$body = file_get_contents('dasl.xml');
$context = stream_context_create(array(
    'http' => array(
      'method' => 'SEARCH',
      'header' => 'Content-type: application/x-www-form-urlencoded',
      'content' => $body,
    )
));

$response = file_get_contents($url, false, $context);

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

验证IBAN PHP - php

在设计新平台时,我们尝试集成IBAN编号。我们必须确保IBAN已经过验证,并且存储在数据库中的IBAN始终正确。那么验证数字的正确方法是什么? 参考方案 正如我在其他问题中解释的逻辑一样,我尝试自己创建一个函数。根据Wikipedia文章中解释的逻辑,在下面找到合适的功能。国家特定验证。它适合吗http://en.wikipedia.org/wiki/Int…

PHP PDO组按列名称查询结果 - php

以下PDO查询返回以下结果:$db = new PDO('....'); $sth = $db->prepare('SELECT ...'); 结果如下: name curso ABC stack CDE stack FGH stack IJK stack LMN overflow OPQ overflow RS…

我无法发出警报。我想念什么? - php

我无法发出警报。我想念什么?(下面的代码在WP插件内部)<?php wp_enqueue_script('jquery'); ?> <script type="text/javascript"> jQuery('#myTest').click(function(){alert…

php:将分钟取整到最近的四分之一小时,然后执行更多操作 - php

最初的问题是这样的:取分钟数->转换为四分之一小时-> 1个四分之一小时为1个单位->输出单位我今天整天都在整理页面,几分钟前我的大脑就停止工作了,我只是不知道如何输出单位数量。我知道在此网站上发布问题会有所帮助。因此,用户输入的分钟数(不是小时和分钟,而是数分钟),站点需要输出单位数量。单位是一个刻钟。分钟总是四舍五入到最近的四分之一小时…