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

PHP
PHP实例教程:网页登陆验证码
PHP教程:研究批量删除数据的方法
PHP教程:PHP函数简单中文说明
PHP教程:几段值得初学者研究的PHP代码段
PHP端口扫描器
Apache负载均衡设置方法: mod_proxy
PHP教程:PHP代码中的名称空间
PHP实例教程(1):构建基于PHP的微博客服务
PHP实例教程(4):构建基于PHP的微博客服务
PHP教程:PHP框架论述
PHP教程:Magic quotes
PHP实例教程:天气预报小偷PHP代码
PHP实例说明编写PHP代码的5个好习惯
PHP教程:网站开发编程中的特殊符号处理
PHP教程:php调用fckeditor函数
Apache安装配置和虚拟主机配置教程
PHP5安装配置和Zend Optimizer安装教程
.htaccess文件设置技巧16则
Apache的Rewrite和404错误页面
有关数据检索的更多内容

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


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