+ -
当前位置:首页 → 问答吧 → 运用PHP生成网页快照

运用PHP生成网页快照

时间:2010-02-24

来源:互联网

[code language=php]  
<?php
$url = 'www.baidu.com'; //抓取百度
echo snapshot($url);  //输出结果为图片地址
echo snapshot($url, './baidu.png'); //将图片保存至本地baidu.png, 输出内容图片大小
/**
* 生成网页快照
* Fr PHP100.com 论坛 xiaokai
* @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;
}
[/code]

作者: RICHARD   发布时间: 2010-02-24

最后是图片?

作者: darkst   发布时间: 2010-02-24

http://ppt.cc/yo2/catch.php 做的处理。。。

作者: luckph   发布时间: 2010-02-24

好像不行啊,连接超时

作者: ty_hyf   发布时间: 2010-02-24

这类是怎样实现的?

作者: halleck   发布时间: 2010-03-25

以我所知這類功能通常需要配合server上screen capturn的軟件才能實現...

作者: vtsuper   发布时间: 2010-03-26

很好的东西,谢谢楼主分享呵呵

作者: scotoma   发布时间: 2010-04-06

标题党。这个不算,重来。

作者: 那个故事   发布时间: 2010-04-06

我靠, 我帖子都跑到这来了..

作者: xiaokai   发布时间: 2010-04-06

只是curl抓取的那个网站生成的图片,效率应该不会太高吧

作者: 落叶人生   发布时间: 2010-04-06

还以为是截图呢,imagegrapwindow 和imagegrabscreen

作者: FreeLiver   发布时间: 2010-04-07

可以抓取网页后生成PDF,再转图片

作者: hnyashiro   发布时间: 2010-04-07

顶!

作者: zmjsg   发布时间: 2010-04-07

看看去

作者: cnkiller   发布时间: 2010-04-07

这个东西根本就没有效率

作者: 净水无香   发布时间: 2010-09-07

我试了一下,结果就是什么也没有输出,还有报错....就是那句很奇怪的网址 。。。。

作者: 净水无香   发布时间: 2010-09-07

相关阅读 更多

热门下载

更多