使用PHP将网站捕获为图像
链接到其他网站时有用的一件事是使用网站的缩略图作为链接的一部分。尽管可以执行此操作,但通常需要通过命令行访问服务器,以便您可以安装各种不同的程序和扩展名。
实现此目的的最简单机制是使用第三方网站为您创建缩略图。以下是一些免费缩略图服务的示例。
www.thumbshots.org
缩略图可以访问许多不同网站的小图像(缩略图大小)。但是,它们很小,无法更改它,并且如果站点进行了重新设计,通常可能会过时几周。您可以通过使用带有从Thumbshots网站读取的源的图像来从任何网页访问Thumbshots。
韦斯纳普尔
Websnapr是一个更具可定制性的系统,您可以从四种不同的图像尺寸中进行选择。这些是t代表缩略图,s代表小号,m代表中号,l代表大号。
这是#的小图片的示例代码!代码。
毒蛇
ArtViper网站缩略图是获取网站图像的一种更为复杂的机制。这是您可以传递给脚本的参数列表。
问:图像质量大约为90,这似乎是一个不错的选择。
h:图像的高度。
w:图像的宽度。
sdx:渲染浏览器的宽度(以像素为单位)。
sdy:渲染浏览器的高度(以像素为单位)。
url:要从中创建图像的URL。
因此,将这些内容放在一起,您可以创建以下源代码。
保存图像
可以显示来自其他人的网站的图像,但是当浏览器关闭以从其他服务器获取图像时,它可能会导致网站的某些部分变慢。理想的情况是将映像保存到服务器,然后从那里链接到服务器。
采取以上任何示例。可以从提供的图像中提取信息,并将其存储在您自己的站点上。可以使用以下代码使用curl来完成此操作。
$url = urlencode('http://www.hashbangcode.com/'); $image_url = 'http://images.websnapr.com/?url=' . $url . '&size=s'; $ch = curl_init(); $timeout = 0; curl_setopt($ch, CURLOPT_URL, $image_url); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); //获取二进制数据 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1); $image = curl_exec($ch); curl_close($ch); //输出到浏览器 header("Content-type: image/jpeg"); $imageFile=fopen('websiteimage.jpg', 'w'); fwrite($imageFile,$image); print $image;
这将保存图像,然后将其打印出来。