PHP生成网页快照

代码:

 

<?php
$url = 'http://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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值