• <legend id='q6PUs'><style id='q6PUs'><dir id='q6PUs'><q id='q6PUs'></q></dir></style></legend>
      <tfoot id='q6PUs'></tfoot>
        <bdo id='q6PUs'></bdo><ul id='q6PUs'></ul>

        <small id='q6PUs'></small><noframes id='q6PUs'>

        <i id='q6PUs'><tr id='q6PUs'><dt id='q6PUs'><q id='q6PUs'><span id='q6PUs'><b id='q6PUs'><form id='q6PUs'><ins id='q6PUs'></ins><ul id='q6PUs'></ul><sub id='q6PUs'></sub></form><legend id='q6PUs'></legend><bdo id='q6PUs'><pre id='q6PUs'><center id='q6PUs'></center></pre></bdo></b><th id='q6PUs'></th></span></q></dt></tr></i><div id='q6PUs'><tfoot id='q6PUs'></tfoot><dl id='q6PUs'><fieldset id='q6PUs'></fieldset></dl></div>

        在 PHP 中通过 HTTP PUT 发送文件

        时间:2023-10-15
          <tbody id='4IDmO'></tbody>

        1. <tfoot id='4IDmO'></tfoot>
          <i id='4IDmO'><tr id='4IDmO'><dt id='4IDmO'><q id='4IDmO'><span id='4IDmO'><b id='4IDmO'><form id='4IDmO'><ins id='4IDmO'></ins><ul id='4IDmO'></ul><sub id='4IDmO'></sub></form><legend id='4IDmO'></legend><bdo id='4IDmO'><pre id='4IDmO'><center id='4IDmO'></center></pre></bdo></b><th id='4IDmO'></th></span></q></dt></tr></i><div id='4IDmO'><tfoot id='4IDmO'></tfoot><dl id='4IDmO'><fieldset id='4IDmO'></fieldset></dl></div>

          <small id='4IDmO'></small><noframes id='4IDmO'>

            • <legend id='4IDmO'><style id='4IDmO'><dir id='4IDmO'><q id='4IDmO'></q></dir></style></legend>

                <bdo id='4IDmO'></bdo><ul id='4IDmO'></ul>

                  本文介绍了在 PHP 中通过 HTTP PUT 发送文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我已经挣扎了几个小时,试图弄清楚如何完成这项工作.我正在尝试通过 HTTP-PUT 将文件发送到 eXist 数据库.服务器有用户身份验证,所以我试图做这样的事情:

                  我有将文档放入的 URL我有 eXist DB 的用户名和密码我有需要通过PUT发送的内容

                  我尝试开始使用 cURL,但它会默默地失败我尝试使用 PHP 流,但一直收到错误 201/created",但实际上没有创建文件.

                  对此的任何帮助将不胜感激.

                  这是我尝试使用 PHP 流的一些示例代码

                  <前>$data = file_get_contents($tmpFile);$header = 数组(授权:基本".base64_encode($this->ci->config->item('ws_login') . ':' . $this->ci->config->item('ws_passwd')),内容类型:文本/xml");$params = 数组('http' => 数组('方法' => 'PUT','header' => $header,'内容' => $数据));$ctx = stream_context_create($params);$response = file_get_contents($url, false, $ctx);

                  解决方案

                  啊哈!在我的办公桌上与脾气暴躁的侏儒毛绒玩偶进行了一些橡皮擦"之后,我找到了解决方案:

                  <前>$data = file_get_contents($tmpFile);$params = 数组('http' => 数组('方法' => 'PUT','header' => "授权:基本".base64_encode($this->ci->config->item('ws_login') . ':' . $this->ci->config->item('ws_passwd')) ." 内容类型:文本/xml ",'内容' => file_get_contents($tmpFile)));$ctx = stream_context_create($params);$response = @file_get_contents($url, false, $ctx);返回($响应=='');

                  I've been struggling for several hours trying to figure out how to get this work. I'm trying to send a file via HTTP-PUT to an eXist db. There is user authentication for the server, so I was trying to do something like this:

                  I have the URL where the doc is to be PUTted to I have the username and password for the eXist DB I have the content that needs to be sent via the PUT

                  I tried getting to work with cURL but it would fail silently I tried to use PHP streams, but kept getting "error 201/created" but no file was actually created.

                  Any help with this would be GREATLY appreciated.

                  Here's some sample code I tried using PHP streams

                          $data = file_get_contents($tmpFile);                                                                                                    
                           $header = array(
                               "Authorization: Basic " . base64_encode($this->ci->config->item('ws_login') . ':' . $this->ci->config->item('ws_passwd')),
                               "Content-Type: text/xml"
                           );  
                           $params = array(
                               'http' => array(
                                   'method' => 'PUT',
                                   'header' => $header,
                                   'content' => $data));
                           $ctx = stream_context_create($params);
                  
                           $response = file_get_contents($url, false, $ctx);
                  

                  解决方案

                  Aha! After a little "rubber ducking" with the grumpy dwarf stuffed doll on my desk here, I figured out the solution:

                          $data = file_get_contents($tmpFile);
                           $params = array(
                               'http' => array(
                                   'method' => 'PUT',
                                   'header' => "Authorization: Basic " . base64_encode($this->ci->config->item('ws_login') . ':' . $this->ci->config->item('ws_passwd')) . "
                  Content-type: text/xml
                  ",
                                   'content' => file_get_contents($tmpFile)
                               )
                           );
                           $ctx = stream_context_create($params);
                           $response = @file_get_contents($url, false, $ctx);
                  
                           return ($response == '');
                  

                  这篇关于在 PHP 中通过 HTTP PUT 发送文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:echo 是否等于 fputs( STDout )? 下一篇:字符串到 php 中的压缩流

                  相关文章

                1. <i id='UaIQV'><tr id='UaIQV'><dt id='UaIQV'><q id='UaIQV'><span id='UaIQV'><b id='UaIQV'><form id='UaIQV'><ins id='UaIQV'></ins><ul id='UaIQV'></ul><sub id='UaIQV'></sub></form><legend id='UaIQV'></legend><bdo id='UaIQV'><pre id='UaIQV'><center id='UaIQV'></center></pre></bdo></b><th id='UaIQV'></th></span></q></dt></tr></i><div id='UaIQV'><tfoot id='UaIQV'></tfoot><dl id='UaIQV'><fieldset id='UaIQV'></fieldset></dl></div>

                  <legend id='UaIQV'><style id='UaIQV'><dir id='UaIQV'><q id='UaIQV'></q></dir></style></legend>
                2. <tfoot id='UaIQV'></tfoot>

                        <bdo id='UaIQV'></bdo><ul id='UaIQV'></ul>

                      <small id='UaIQV'></small><noframes id='UaIQV'>