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

yipeiwu_com7年前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;
}
?>

相关文章

深入file_get_contents函数抓取内容失败的原因分析

用file_get_contents来抓取页面内容不成功,可能是因为有些主机服务商把php的allow_url_fopen选项是关闭了,就是没法直接使用file_get_contents...

PHP 错误之引号中使用变量

当看到错误提示 syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE...

linux下使用crontab实现定时PHP计划任务失败的原因分析

很多人在linux下使用crontab实现PHP执行定时任务却未能成功,不能生成缓存。本文就linux下使用crontab实现定时PHP计划任务失败的原因做一分析。 一般我们linux定...

php生成无限栏目树

栏目数组: $arr=Array( Array('cid' => 2,'cname' => '新闻','pid' => 0), Array('cid' =&...

PHP如何得到当前页和上一页的地址?

$_SERVER['HTTP_REFERER'] //可以得到上一页的地址  $_SERVER[PHP_SELF] //得到当前页面地址  $_S...