就一行代码<img src="http://img33.dangdang.com/46/8/9040033-1_m.jpg" />
http://img33.dangdang.com/46/8/9040033-1_m.jpg这个图片是存在的,用IE也能打开,但我插到文件里就是不显示,晕死了。把图片保存到本地显示没问题,是不是有什么防盗链的技术啊,请高手指教!
http://img33.dangdang.com/46/8/9040033-1_m.jpg这个图片是存在的,用IE也能打开,但我插到文件里就是不显示,晕死了。把图片保存到本地显示没问题,是不是有什么防盗链的技术啊,请高手指教!
设置user-agent请求就可以得到了.
header("Content-type: image/jpeg");
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5\r\n"
)
);
$context = stream_context_create($opts);
echo file_get_contents("http://img33.dangdang.com/46/8/9040033-1_m.jpg",false,$context );
(Status-Line) HTTP/1.1 403 Forbidden
Server DnionOS/1.0
Date Wed, 18 Nov 2009 05:16:58 GMT
Content-Type text/html
Connection keep-alive
Content-Length 1186
Expires Wed, 18 Nov 2009 05:17:01 GMT
X-Squid-Error ERR_ACCESS_DENIED 0
X-Cache MISS from CNC-BJBY-53-165.fastcdn.com
你可以用一个php专门负责获取图片,有些时间并需要下载,如2楼所示,哪是取固定的图片,带个参数不就动态取图片了吗?
不需要下载,怎么用PHP取动态图片啊,刚做这方面的不太懂,请大虾明示,哈!
header("Content-Type: image/jpeg");
$opts = array( 'http'=>array( 'method'=>"GET", 'header'=>"User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5\r\n" ) );
$context = stream_context_create($opts);
echo file_get_contents("http://img33.dangdang.com/46/8/9040033-1_m.jpg",false,$context );
?>大虾们帮我看看吧,是不是header还要发别的内容哦,还是别的问题啊?!
将图片地址变成可变参数,
echo file_get_contents($_GET['imgurl'],false,$context );
保存为getimage.php调用的时候可以这样使用
getimage.php?imgurl=http://img33.dangdang.com/46/8/9040033-1_m.jpg