RT,求教,最好能给个示例,谢谢。

解决方案 »

  1.   

    上网搜了一下英文资料
    好像是用Xvfb做个虚拟屏幕, 然后启动mozila后台截图之后,考到指定目录。
    我翻墙之后google查到的:http://www.webmasterworld.com/forum21/9182.htm
     
      

  2.   

    以前回答过类似的问题,试试看下面的代码
    <?php
    function save_to_local($weburl, $savepath = '', $proxy = '', $port = 8000) {    $succeed = false;    set_time_limit(0);
        if (substr($savepath, -1) != '/') $savepath .= '/';
        if (!is_dir($savepath)) @mkdir($savepath, 0777);    if (empty($proxy)) {
            $fp = fsockopen('open.thumbshots.org', 80, $err, $errno, 3);
        } else {
            $fp = fsockopen($proxy, $port, $err, $errno, 3);
        }
        if (!$fp) {
            echo "Connection failed. $err($errno)";
            return false;
        }
        if (!empty($proxy)) {
            fputs($fp, 'GET http://open.thumbshots.org/image.pxf?url=' . urlencode($weburl) . " HTTP/1.0\r\n");
        } else {
            fputs($fp, 'GET /image.pxf?url=' . urlencode($weburl) . " HTTP/1.0\r\n");
        }
        fputs($fp, "Host: open.thumbshots.org\r\n\r\n");
        $data = '';
        while (!feof($fp)) {
            $data .= fread($fp, 1024);
        }
        $data = preg_replace('/^.+(\\r\\n){2}/s', '', $data);
        $newpath = $savepath.urlencode($weburl).'.jpg';
        if (!empty($data)) {
            $fp = @fopen($newpath, "w");
            @fwrite($fp, $data);
            @fclose($fp);
            $succeed = true;
        }
        if ($succeed) {
            return $newpath;
        } else {
            return $succeed;
        }
    }
    echo save_to_local('www.baidu.com', './');
    ?>