微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP – 将文件转换为二进制文件并使用HTTP POST发送它

我将使用PHP转换一些文件并将其作为HTTP POST请求的一部分发送.
我的部分代码是:

        $context = stream_context_create(array(
        'http' => array(
            'method' => 'POST',
            'header' => "Content-type: " . $this->contentType."",
            'content' => "file=".$file
        )
            ));
    $data = file_get_contents($this->url, false, $context);

变量$file是否必须是我要发送的文件的字节表示?

并且这是在不使用表单的情况下在PHP中发送文件的正确方法吗?你有线索吗?

另外,使用PHP文件转换为字节表示的方法是什么?

解决方法:

您可能会发现使用CURL更容易,例如:

function curlPost($url,$file) {
  $ch = curl_init();
  if (!is_resource($ch)) return false;
  curl_setopt( $ch , CURLOPT_SSL_VERIFYPEER , 0 );
  curl_setopt( $ch , CURLOPT_FOLLOWLOCATION , 0 );
  curl_setopt( $ch , CURLOPT_URL , $url );
  curl_setopt( $ch , CURLOPT_POST , 1 );
  curl_setopt( $ch , CURLOPT_POSTFIELDS , '@' . $file );
  curl_setopt( $ch , CURLOPT_RETURNTRANSFER , 1 );
  curl_setopt( $ch , CURLOPT_VERBOSE , 0 );
  $response = curl_exec($ch);
  curl_close($ch);
  return $response;
}

其中$url是您要发布到的位置,$file是您要发送的文件的路径.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐