我正在尝试做两件事:
1)从Bing获取缩略图并显示它。该网址如下所示http://tse4.mm.bing.net/th?id=OIP.M764a682297c84c4e519c91b4d39a5731o0
我尝试了以下操作,但它没有用。
<?php
$file = 'http://tse4.mm.bing.net/th?id=OIP.M764a682297c84c4e519c91b4d39a5731o0';
header('Content-Type: image/jpg');
header('Content-Length: ' . filesize($file));
echo file_get_contents($file);
?>
<?php $content = file_get_contents('http://tse4.mm.bing.net/th?id=OIP.M27a2faeba4dbe75a45036d09675745dfH0&h=200&w=210'); echo file_put_contents('/images/image.jpg', $content); ?>
上述不起作用,可能是因为URL不以JPEG扩展名结尾,但我不确定。任何想法如何解决这个问题?
感谢。
答案 0 :(得分:2)
在第一次尝试时,您编写filesize($file)
,但$file
是字符串,而不是文件。所以你的标题是Content-Length: False
。此外,如果您启用了错误报告,则您的脚本会回复类似“警告:文件大小():stat failed for ......”的内容,这会损坏JPEG输出。
在第二次尝试中,将内容保存到本地文件,然后回显file_get_contents
的结果,这是一个整数,如documentation中所示。
首先检索内容,然后输出:
$file = 'http://tse4.mm.bing.net/th?id=OIP.M764a682297c84c4e519c91b4d39a5731o0';
$data = file_get_contents( $file );
header('Content-Type: image/jpg');
header('Content-Length: ' . strlen($data));
echo $data;
exit;
经过测试工作。