【发布时间】:2023-06-10 00:36:01
【问题描述】:
$camera_ip = "10.10.10.10";
$image_url = "http://$camera_ip/cgi-bin/image.jpg?camera=right&size=1024x768&quality=60";
$ch = curl_init($image_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$rawdata = curl_exec($ch);
curl_close($ch);
$fp = fopen('./logo.jpg', 'wb');
fwrite($fp, $rawdata);
fclose($fp);
一个文件保存在7KB,但大小是0x0...我不知道为什么文件没有正确保存。我的猜测是文件在保存之前没有完全加载,但是有没有办法确保呢?
【问题讨论】:
-
尝试使用 CURLOPT_FILE 而不是写入二进制数据
-
我不确定,但您在几分钟前就有了类似的问题?当您没有正确的身份验证时,您将无法获得图像。相反,您将返回的结果保存为身份验证。
-
@Stony 很相似,但我能够通过最初的问题......但这个问题已经困扰了我一段时间了。
-
如果你打开保存的文件是jpeg吗?该文件中的标题是什么?或者内容是什么?
-
@Stony 应该是
.jpg。