如何在PHP中使用curl复制远程图像(没有文件类型扩展名)


How to copy a remote image(without file type extension) using curl in PHP

我让这段代码与具有文件扩展名的图像一起工作。

$ch = curl_init($remoteImageUrl);
$outputImagePath = dirname(__FILE__)."/saveto/thumbnail.jpg";
$fp = fopen($outputImagePath, 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);

但是当$remoteImageUrl没有文件扩展名时,此代码不起作用。它创建一个0字节的图像。解决这个问题的方法是什么?

在处理无扩展文件时尝试使用FOLLOWLOCATION,因为一些服务器可能会感到困惑。使用RETURNTRANSFER常量作为字符串检索图像内容。

curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);