将带有二进制数据的curl转换为php
是否有人擅长使用PHP cURL函数,并且可能将下面的cURL调用转换为PHP函数 我在将“-data binary@/var/www/html/images/request.png”部分复制到cURL的各种PHP选项中时遇到了麻烦 当我在CLI上执行此时,它工作得非常好将带有二进制数据的curl转换为php,php,curl,Php,Curl,是否有人擅长使用PHP cURL函数,并且可能将下面的cURL调用转换为PHP函数 我在将“-data binary@/var/www/html/images/request.png”部分复制到cURL的各种PHP选项中时遇到了麻烦 当我在CLI上执行此时,它工作得非常好 curl -X POST --data-binary @/var/www/html/images/request.png http://127.0.0.1:4212/index/searcher 以下是我迄今为止的最佳尝试,
curl -X POST --data-binary @/var/www/html/images/request.png http://127.0.0.1:4212/index/searcher
以下是我迄今为止的最佳尝试,但它会导致上载损坏的图像:
<?php
$url = 'http://127.0.0.1:4212/index/searcher';
$header = array('Content-Type: multipart/form-data');
$fields = array('file' => '@/var/www/html/images/request.png');
$resource = curl_init();
curl_setopt($resource, CURLOPT_URL, $url);
curl_setopt($resource, CURLOPT_HTTPHEADER, $header);
curl_setopt($resource, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($resource, CURLOPT_BINARYTRANSFER, TRUE);
curl_setopt($resource, CURLOPT_POST, 1);
curl_setopt($resource, CURLOPT_POSTFIELDS, $fields);
$result = curl_exec($resource) ;
print_r($result);
curl_close($resource);
?>
有趣的是,我的系统中的文件是225873字节,而上传后它变成了226062我认为不再使用
CURLOPT\u BINARYTRANSFER
。是的,即使删除了它,也不会有任何变化。编辑您的问题,将文件大小包含在源代码中,而不是本地机器上捕获的内容。祝你好运。请看: