命令行curl到PHP curl,PHP curl返回空白文件


Command line curl to PHP curl and PHP curl returning blank file

我想使用API从这个网站将.html文件转换为.epub文件https://ebookglue.com/docs他们在命令行curl中有示例,但我想使用PHP curl,不知道如何将其正确转换为PHP curl

这是curl 命令行

curl -o converted.epub '
-F "token=your-api-key" '
-F "file=@index.html" '
https://ebookglue.com/convert

到目前为止,我得到的是,它不工作,并返回空白的dat.epub文件

$token  =    "token";
$tmpfile = $_FILES['file']['tmp_name'];
$filename = basename($_FILES['file']['name']);
$data = array(
    'token'  => $token,
    'file'          =>  '@'.$tmpfile.';filename='.$filename,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://ebookglue.com/convert");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HEADER, 0);
$out = curl_exec($ch);
curl_close($ch);
$fp = fopen('data.epub', 'w');
fwrite($fp, $out);
fclose($fp);

您没有设置POST选项:

curl_setopt($ch, CURLOPT_POST, 1);

如果不起作用:

我注意到您正在通过SSL进行连接。除非你已经对所有证书进行了排序,否则试试这个

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

但请仔细阅读这意味着什么。