PHP生成网页快照 不用COM不用扩展.

yipeiwu_com6年前PHP代码库
代码
复制代码 代码如下:

<?php
$url = 'www.baidu.com'; //抓取百度
echo snapshot($url); //输出结果为图片地址
echo snapshot($url, './baidu.png'); //将图片保存至本地baidu.png, 输出内容图片大小
/**
* 生成网页快照
*
* @param string $site 目标地址
* @param string $path 保存地址, 为空则不保存
* @param integer $dealy 延迟
* @return mixed 根据参数返回
*/
function snapshot($site, $path = '', $dealy = 0)
{
$url = 'http://ppt.cc/yo2/catch.php';
$query = 'url=' . $site . '&delay=' . $dealy . '&rnd=' . mt_rand(1, 9);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
if (strlen($data) != 32) {
exit('无效网址');
}
$file = $data{0} . '/' . $data{1} . '/' . $data{2} . '/';
$file = '/zb_users/upload/202003/xgs4emibbpv.png';
if (!empty($path)) {
$data = file_get_contents($file);
return file_put_contents($path, $data);
}
return $file;
}
?>

相关文章

php引用和拷贝的区别知识点总结

对于值传递和引用传递,书本上的解释比较繁琐,而php面试中总会出现,下面我会通过一个生活的例子带大家理解它们之间区别。 第一步 假设我们去酒店订房间,我们把酒店的门牌号比作变量名,我们把...

php模拟用户自动在qq空间发表文章的方法

本文实例讲述了php模拟用户自动在qq空间发表文章的方法。分享给大家供大家参考。具体分析如下: 我们这里是一个简单的利用php来模拟登录后再到QQ空间发送文章的一个简单的程序,有需要的朋...

PHP对象递归引用造成内存泄漏分析

通常来说,如果PHP对象存在递归引用,就会出现内存泄漏。这个Bug在PHP里已经存在很久很久了,先让我们来重现这个Bug,示例代码如下: <?php class Foo...

PHP中spl_autoload_register函数的用法总结

spl_autoload_register(PHP 5 >= 5.1.2)spl_autoload_register — 注册__autoload()函数 说明bool spl_a...

关于PHP模板Smarty的初级使用方法以及心得分享

至于怎么配置,这里就不用多说了,网上一大堆。1.基本上要用到的最主要的方法就是assign和display方法。2.基本上在页面上要用到的知识就是if和foreach和section这三...