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


Posted in PHP onFebruary 11, 2010

代码

<?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 = 'http://cache.ppt.cc/' . $file . 'src_' . $data . '.png'; 
if (!empty($path)) { 
$data = file_get_contents($file); 
return file_put_contents($path, $data); 
} 
return $file; 
} 
?>
PHP 相关文章推荐
无数据库的详细域名查询程序PHP版(1)
Oct 09 PHP
PHP4 与 MySQL 数据库操作函数详解
Dec 06 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
Jul 29 PHP
php中将html中的br换行符转换为文本输入中的换行符
Mar 26 PHP
修改php.ini不生效问题解决方法(上传大于8M的文件)
Jun 14 PHP
php发送get、post请求的6种方法简明总结
Jul 08 PHP
php计算给定时间之前的函数用法实例
Apr 03 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
Mar 15 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
Aug 18 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
Apr 20 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 14 PHP
PHP获取远程http或ftp文件的md5值的方法
Apr 15 PHP
检查url链接是否已经有参数的php代码 添加 ? 或 &amp;
Feb 09 #PHP
php 自写函数代码 获取关键字 去超链接
Feb 08 #PHP
PHP 手机归属地查询 api
Feb 08 #PHP
Memcache 在PHP中的使用技巧
Feb 08 #PHP
PHP Memcached应用实现代码
Feb 08 #PHP
两个开源的Php输出Excel文件类
Feb 08 #PHP
php 处理上百万条的数据库如何提高处理查询速度
Feb 08 #PHP
You might like
ADODB的数据库封包程序库
2006/12/31 PHP
apache2.2.4+mysql5.0.77+php5.2.8安装精简
2009/04/29 PHP
simplehtmldom Doc api帮助文档
2012/03/26 PHP
PHP错误Warning:mysql_query()解决方法
2015/10/24 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
php实现的表单验证类完整示例
2019/08/13 PHP
到处都是jQuery选择器的年代 不了解它们的性能,行吗
2012/06/18 Javascript
js不完美解决click和dblclick事件冲突问题
2012/07/16 Javascript
document.execCommand()的用法小结
2014/01/08 Javascript
jquery 操作两个select实现值之间的互相传递
2014/03/07 Javascript
IE中document.createElement的iframe无法设置属性name的解决方法
2015/09/14 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
使用angularjs创建简单表格
2016/01/21 Javascript
浅谈addEventListener和attachEvent的区别
2016/07/14 Javascript
js canvas实现擦除动画
2016/07/16 Javascript
JavaScript实现DOM对象选择器
2016/09/24 Javascript
JS实现的走迷宫小游戏完整实例
2017/07/19 Javascript
Three.js如何实现雾化效果示例代码
2017/09/27 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
小程序指纹验证的实现代码
2018/12/04 Javascript
[15:41]教你分分钟做大人——灰烬之灵
2015/03/11 DOTA
python中查找excel某一列的重复数据 剔除之后打印
2013/02/10 Python
python中使用OpenCV进行人脸检测的例子
2014/04/18 Python
python有证书的加密解密实现方法
2014/11/19 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
2017/06/02 Python
Python实现将Excel转换成为image的方法
2018/10/23 Python
Matplotlib中文乱码的3种解决方案
2018/11/15 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
Python爬虫使用代理IP的实现
2019/10/27 Python
python实现把两个二维array叠加成三维array示例
2019/11/29 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
什么是makefile? 如何编写makefile?
2013/01/02 面试题
golang 实现两个结构体复制字段
2021/04/28 Golang
详解Nginx的超时keeplive_timeout配置步骤
2022/05/25 Servers