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中的正则表达式函数介绍
Feb 27 PHP
php中常用的预定义变量小结
May 09 PHP
PHP设计模式之结构模式的深入解析
Jun 13 PHP
php中socket通信机制实例详解
Jan 03 PHP
phplot生成图片类用法详解
Jan 06 PHP
PHP中让curl支持sock5的代码实例
Jan 21 PHP
typecho插件编写教程(一):Hello World
May 28 PHP
PHP实现事件机制实例分析
Jun 26 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
Dec 21 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
Jan 15 PHP
php使用curl获取header检测开启GZip压缩的方法
Aug 15 PHP
PHP利用DWZ.CN服务生成短网址
Aug 11 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
php 日期时间处理函数小结
2009/12/18 PHP
请离开include_once和require_once
2013/07/18 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
php的扩展写法总结
2019/05/14 PHP
ie 调试javascript的工具
2009/04/29 Javascript
javascript转换字符串为dom对象(字符串动态创建dom)
2010/05/10 Javascript
Js组件的一些写法
2010/09/10 Javascript
如何确保JavaScript的执行顺序 之实战篇
2011/03/03 Javascript
JavaScript实现上下浮动的窗口效果代码
2015/10/12 Javascript
深入理解$.each和$(selector).each
2016/05/15 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
浅析JavaScript中var that=this
2017/02/17 Javascript
JavaScript对JSON数据进行排序和搜索
2017/07/24 Javascript
Angular实现响应式表单
2017/08/04 Javascript
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
js中apply和Math.max()函数的问题及区别介绍
2018/03/27 Javascript
JavaScript中this的全面解析及常见实例
2019/05/14 Javascript
jquery 遍历hash操作示例【基于ajax交互】
2019/10/12 jQuery
viewer.js实现图片预览功能
2020/06/24 Javascript
详解uniapp的全局变量实现方式
2021/01/11 Javascript
python 随机数生成的代码的详细分析
2011/05/15 Python
python实现按行切分文本文件的方法
2016/04/18 Python
Python基本socket通信控制操作示例
2019/01/30 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
2019/03/01 Python
Python实现连接MySql数据库及增删改查操作详解
2019/04/16 Python
Python面向对象之类的封装操作示例
2019/06/08 Python
pytorch 模拟关系拟合——回归实例
2020/01/14 Python
Python爬虫基于lxml解决数据编码乱码问题
2020/07/31 Python
AmazeUI 模态窗口的实现代码
2020/08/18 HTML / CSS
AmazeUI 等分网格的实现示例
2020/08/25 HTML / CSS
软件毕业生个人鉴定
2014/03/03 职场文书
2015年派出所工作总结
2015/04/24 职场文书
终止解除劳动合同证明书
2015/06/17 职场文书
解决Mysql多行子查询的使用及空值问题
2022/01/22 MySQL
Vue+TypeScript中处理computed方式
2022/04/02 Vue.js