当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP生成网页快照 不用COM不用扩展.

PHP
搜索引擎核心技术(PHP编程思路) --[1]
PHP巧获服务器端信息
用PHP实现标准的IP Whois查询
利用Yahoo! Search API开发自已的搜索引擎-php版
用php实现gb2312和unicode间的编码转换
用php发送带附件的Email
解决RHAS3中Apache2的PHP上传文件大小的限制
PHP和JAVA的XML-RPC中文问题解决办法
令你的网站获得任意Google PR值的方法
PHP应用分页显示制作详细讲解
使用php通过Socket进行发信源码,支持发信认证
Smarty实例教学 实例篇
用ActivePHP打造版本管理系统
Linux下安装GD
Apache2的httpd.conf翻译
PHP5的XML新特性
PHP5对象体系
Mysql 4.1 Windows 下升级问题
建立灵巧结构的PHP程序
PHP入门速成(3)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 111 ::
收藏到网摘: n/a

PHP生成网页快照, 不用COM不用扩展. 代码
复制代码 代码如下:

<?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;
}
?>