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

PHP
PHP中for循环语句的几种“变态”用法
通过php来读取xml的数据
PHP中使用XML-RPC构造Web Service简单入门
用PHP通过SMTP发送邮件
用PHP操纵Oracle的LOB类型的数据
PHP函数学习之PHP函数点评
Php高手带路--问题汇总解答
利用PHP和AJAX创建RSS聚合器
PHP与Javascript的两种交互方式
高手传经:学习PHP重在坚持
动态网页PHP中引用&的使用注意事项
用PHPINFO来实现PHP的配置统计过程
向普通人加密 用PHP程序保护数据
使用 PHP 快速生成 Flash 动画
Php常见问题总结
怎样才能成为PHP高手?
PHP对战ASP:这还值得讨论吗?
PHP大潮将至 PHP近年发展分析
小荷才露尖尖角 中国的PHP社群介绍
从草根到大腕 PHP技术发展历程

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 151 ::
收藏到网摘: 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;
}
?>