html生成图片,html生成长微博

浏览:2357 发布日期:2015/04/09 分类:技术分享 关键字: html生成图片 html生成长微博 网页生成图片 网页生成长微博
html生成图片,html生成长微博

更多功能请访问: http://www.dahuzhi.com

安装扩展:
(1)下面是我在linux上的安装过程,如果没有安装git请先yum install git
安装casperjs
cd /
git clone git://github.com/n1k0/casperjs.git
cd casperjs
ln -sf /casperjs/bin/casperjs /usr/local/bin/casperjs //可以忽略 实际执行中php是执行 /casperjs/bin/casperjs


(2)安装phantomjs,下载地址:http://phantomjs.org/download.html
下载后操作很简单,直接把解压好的\bin\phantomjs移动到\usr\local\bin\phantomjs就可以了。\
测试phantomjs --version 有结果不报错,说明安装OK

(3)安装字体
1. 首先获得一套“微软雅黑”字体库(Google一下一大把),包含两个文件msyh.ttf(普通)、msyhbd.ttf(加粗);
2. 在/usr/share/fonts目录下建立一个子目录,例如win,命令如下:
# mkdir /usr/share/fonts/win
3. 将msyh.ttf和msyhbd.ttf复制到该目录下,例如这两个文件放在/root/Desktop下,使用命令:
# cd /root/Desktop
# cp msyh.ttf msyhbd.ttf /usr/share/fonts/win/
4. 建立字体索引信息,更新字体缓存:
# cd /usr/share/fonts/win
# mkfontscale (如果提示 mkfontscale: command not found,需自行安装 # yum install mkfontscale )
# mkfontdir
# fc-cache (如果提示 fc-cache: command not found,则需要安装# yum install fontconfig )
至此,字体已经安装完毕!<?php

$www = "http://www.dahuzhi.com"; //要生成的网页地址
$name= time().'.png';                  //生成的图片名

//定义js文件内容 body就是页面要生成的内容区间  也可以是页面的某个id如: #content
$str = <<<ABC
var casper = require('casper').create();
if(casper.cli.has(0)){
    var id = casper.cli.get(0);
    //casper.echo(id);
    casper.start("@www@", function() {
        this.captureSelector("@name@", 'body');
    });
    casper.run();
}else{
    casper.exit();
}
ABC;
$str = str_replace(array("@www@","@name@"), array($www,$name), $str);  
file_put_contents("test.js", $str);


//如果不加这句就会报错“Fatal: [Errno 2] No such file or directory; did you install phantomjs?”,详情参考http://mengkang.net/87.html
putenv("PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs");

//调试使用下面的代码,会提示权限等各种错误,例如sh: /casperjs/bin/casperjs: Permission denied
$handle = popen('/casperjs/bin/casperjs test.js '.$name.' 2>&1','r');
$read = stream_get_contents($handle);
echo $read;
echo '<img src="http://'.$_SERVER['HTTP_HOST'].'/'.$name.'">';
pclose($handle);
最佳答案
评论( 相关
后面还有条评论,点击查看>>