通过自定义头使用curl php上传文件
通过自定义头使用curl php上传文件,php,curl,Php,Curl,此标题由我的程序发送到以下地址: --55ae49448a20c Content-Disposition: form-data; name="chat_id" Content-Length: 9 108432389 --55ae49448a20c Content-Disposition: form-data; name="photo"; filename="Untitled.png" Content-Length: 16252 Content-Type: image/png PNG 我想
此标题由我的程序发送到以下地址:
--55ae49448a20c
Content-Disposition: form-data; name="chat_id"
Content-Length: 9
108432389
--55ae49448a20c
Content-Disposition: form-data; name="photo"; filename="Untitled.png"
Content-Length: 16252
Content-Type: image/png
PNG
我想通过以下代码发布2个变量(聊天id)和(照片)。尝试的代码:
<?php
$params = "Content-Disposition: form-data; name=\"chat_id\"\r\n"
. "Content-Length: 9\r\n\r\n"
. "\r\n"
. "Content-Disposition: form-data; name=\"photo\"; filename=\"Untitled.png\"\r\n"
. "Content-Length: ".filesize("Untitled.png")."\r\n"
. "Content-Type: image/png\r\n\r\n"
. file_get_contents("Untitled.png");
$request_headers = array();
$request_headers[] = 'Content-Length: ' . strlen($params);
$url = 'http://example.com';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8888');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);
$reply = curl_exec($ch);
?>
还有别的方法吗我尝试的代码给了我400个坏的Gatway错误。这完全是不必要的。你做的太多了,旋度本身可以做得更好(而且正确)
旧式php curl在值字段中使用
@
表示要上载的文件。较新的版本则改用。这完全是不必要的。你做的太多了,旋度本身可以做得更好(而且正确)
旧式php curl在值字段中使用
@
表示要上载的文件。较新的版本则改用。谢谢,但它在电报api中不起作用:
谢谢,但在电报api中不起作用:
$post = array(
'chat_id' => 108432389,
'photo' => '@Untitled.jpg'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);