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

PHP
在PHP中利用XML技术构造远程服务(上)
PHP的FTP学习(二)[转自奥索]
提问的智慧(2)
一个很方便的 XML 类!!原创的噢
DOMXML函数笔记
提问的智慧
PHP安装问题
PHP概述.
Oracle Faq(Oracle的字符集问题)
Oracle Faq(如何在ORACLE中更改表的列名和顺序 )
Oracle Faq(Oracle TAF的配置)
ftp类(example.php)
php中文件上传的安全问题
多文件上载系统完整版
文件上传类
PHP 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
第1次亲密接触PHP5(1)
Oracle 常见问题解答
PHP也可以當成Shell Script
用PHP读注册表

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


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