我正在努力抓取一张照片...听起来很傻,但请查看此链接:P
http://manga.justcarl.co.uk/A/Oishii_Kankei/31/1
如果您获得图像URL,则加载图像。回过头来看,它看起来工作得很好,但这只是浏览器加载缓存的图像。
这个应用程序之前运行得很好,我想他们在他们的图像上实现了某种类型的引用检查。因此,我找到了一些代码,并提出了以下内容...
$ref = 'http://www.thesite.com/';
$file = 'theimage.jpg';
$hdrs = array( 'http' => array(
'method' => "GET",
'header'=> "accept-language: en\r\n" .
"Accept:application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*\/*;q=0.5\r\n" .
"Referer: $ref\r\n" . // Setting the http-referer
"Content-Type: image/jpeg\r\n"
)
);
// get the requested page from the server
// with our header as a request-header
$context = stream_context_create($hdrs);
$fp = fopen($imgChapterPath.$file, 'rb', false, $context);
fpassthru($fp);
fclose($fp);从本质上讲,它是在编造一个虚假的推荐人。我所得到的只是一堆胡言乱语(感谢fpassthru),所以我认为它得到了图像,但我恐怕说我不知道如何输出/显示收集的图像。
发布于 2010-06-11 00:49:02
在调用fpassthru之前尝试调用此函数:
header('Content-Type: image/jpeg');这将告诉您的浏览器下一个数据是JPEG图像。否则PHP会自动说它是一个HTML文档,这显然是错误的。
注意:请记住,所有对header的调用都必须在将其他内容输出到浏览器之前进行,这意味着在调用header之前不能有任何echo或print调用,并且在开始<?php标记之前不能有任何东西。
https://stackoverflow.com/questions/3016492
复制相似问题