Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CURL请求通过命令行工作,但在PHP中不起作用_Php_Curl_Php Curl - Fatal编程技术网

CURL请求通过命令行工作,但在PHP中不起作用

CURL请求通过命令行工作,但在PHP中不起作用,php,curl,php-curl,Php,Curl,Php Curl,下面的命令在命令行中运行良好 curl -X POST "http://xxx.xx.xx.xx:xxxx/api/upload?id=123456" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@a.pdf;type=application/pdf" 当我使用命令行点击上面的命令时,它会给出一个令牌作为

下面的命令在命令行中运行良好

curl -X POST "http://xxx.xx.xx.xx:xxxx/api/upload?id=123456" -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@a.pdf;type=application/pdf"
当我使用命令行点击上面的命令时,它会给出一个令牌作为返回响应。如果我也通过邮递员进行调用,它可以正常工作。但当我通过请求时 PHP-CURL它既不给出任何错误也不给出任何标记作为响应

尝试向请求中添加内容类型:多部分/表单数据,如
CURLOPT_HTTPHEADER=>array'Content-Type:multipart/form data'

使用正确的大小写:CURLFILE是否在php.ini中启用了curl扩展名?@DarkBee是的,我启用了curl扩展名。请参阅不确定文件路径中的第一个斜杠是什么,无论如何最好在windowns env中使用反斜杠,例如,新的CURLFILE'C:\Users\User\Downloads\C.pdf'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://xxx.xx.xx.xx:xxxx/api/upload?id=123456",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => array('file'=> new CURLFILE('/C:/Users/User/Downloads/c.pdf')),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
?>