繁体   English   中英

将此 curl 命令翻译成 php curl

[英]Translate this curl command to php curl

我正在尝试编写 php 文件来使用 docker 容器内的微服务,该容器将 html 转换为 html。

我可以通过这种方式毫无问题地做到这一点:

curl -vv -F --output 'file=@/home/user/Documents/contract.html' http://0.0.0.0:32768/ -o /home/user/contract.pdf

现在我正在尝试在 php 文件中“翻译”这个命令,但这是我第一次在 php 中使用 curl。

    //Initialise the cURL var
    $ch = curl_init();

    //Get the response from cURL
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    //Set the Url
    curl_setopt($ch, CURLOPT_URL, 'http://0.0.0.0:32768/');

    //Create a POST array with the file in it
    $postData = array(
        'testData' => '@/home/user/Documents/contract.html',
    );
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);

    // Execute the request
    $response = curl_exec($ch);
    var_dump($response);

我缺少命令的-o选项、将 html 文件转换为 pdf 后应该获得的文件的路径和名称。

我认为您正在寻找CURLOPT_FILE

CURLOPT_FILE 传输应写入的文件。 默认值为 STDOUT(浏览器窗口)。

https://www.php.net/manual/en/function.curl-setopt.php

    <?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "curl%20-vv%20-F%20--output%20'file=@/home/user/Documents/contract.html'%20http://0.0.0.0:32768/%20-o%20/home/user/contract.pdf%0A%0A",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM