## 关于PhantomJS
PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API。它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG。 PhantomJS 可以用于 页面自动化 , 网络监测 , 网页截屏 ,以及 无界面测试 等。
* * * * *
## 安装PhantomJS
我因为我都是在linux的环境,所以我这里只介绍linux下面的安装方式。
### 第一步:安装扩展:
(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就可以了。
这里需要注意的是:你要先了解你的Linux系统是32位还是64位的,然后在上面的下载地址中选择对应的版本下载。
测试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 )
~~~
至此,字体已经安装完毕!
* * * * *
# TP5代码
~~~
public function textimg(){
$www = "http://blog.csdn.net/nanshan_hzq/article/details/6616543"; //要生成的网页地址
$name= '../public/uploads/'.date('Y-m-d').'/'.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;
$js='../public/uploads/'.date('Y-m-d').'.js';
$str = str_replace(array("@www@","@name@"), array($www,$name), $str);
file_put_contents($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 '.$js.' '.$name.' 2>&1','r');
$read = stream_get_contents($handle);
echo $read;
echo '<img src="http://'.$_SERVER['HTTP_HOST'].'/'.$name.'">';
pclose($handle);
}
~~~
- 空白目录
- summernote富文本编辑器
- 基本使用(一)
- 基本使用(二)
- 基本使用(三)
- 基本使用(四)
- 修改Summernote文本编辑器支持上传图片到服务器
- 修改图片上传后的样式
- Composer的一些基本用法
- 使用中国镜像快速安装
- 自己项目中常用到的一些Composer
- TP5的一些常见功能实现
- 通过phpmailer实现邮件的发送
- 使用PhantomJS将网页生成图片
- TP5在Linux服务器中LNMP环境下的配置
- 利用JWT做token开发
- 小程序开发备忘录
- 小程序生成自定义二维码
- Bootstrap使用心得
- 异步加载数据,更新select方法
- Html5实现图片上传前裁剪
- mysql一些小技巧
- php移动mysql字段的位置
- 服务器相关知识
- 阿里云专属网络外网访问的设置
- Linux定时执行任务