> 백엔드 개발 > PHP 튜토리얼 > phantomjs를 사용하여 스크린샷을 찍고 저장하는 방법

phantomjs를 사용하여 스크린샷을 찍고 저장하는 방법

WBOY
풀어 주다: 2016-08-10 09:07:31
원래의
1607명이 탐색했습니다.

这是我的js代码:

<code>var page = require('webpage').create();
var address = 'http://baidu.com';//填写需要打印的文件位置
var output = './img/'+'xigua'+'.png';//存储文件路径和名称
page.viewportSize = { width: 100, height: 100 };//设置长宽
page.open(address, function (status) {
    if (status !== 'success') {
        console.log('Unable to load the address!');
        phantom.exit();
    } else {
        window.setTimeout(function () {
            page.render(output);
            phantom.exit();
        }, 500);
    }
});
</code>
로그인 후 복사
로그인 후 복사

这是php代码:

<code><?php
$command = 'phantomjs '.'phantomjs\123.js'; //上面提到的js文件的路径
exec($command,$out);
</code>
로그인 후 복사
로그인 후 복사

使用以上的代码是可以截图并且保存的,但是无法动态生成图片名.
比如现在需求是保存的图片名称是订单号,就不知道如何传值,然后尝试使用.php来保存上面的js代码,以为这样可以使用动态的名称了,但是也遇到比较多的问题,所以请教各位大神如何传值,才能让phantomjs保存图片名的时候实现动态定义?谢谢.

回复内容:

这是我的js代码:

<code>var page = require('webpage').create();
var address = 'http://baidu.com';//填写需要打印的文件位置
var output = './img/'+'xigua'+'.png';//存储文件路径和名称
page.viewportSize = { width: 100, height: 100 };//设置长宽
page.open(address, function (status) {
    if (status !== 'success') {
        console.log('Unable to load the address!');
        phantom.exit();
    } else {
        window.setTimeout(function () {
            page.render(output);
            phantom.exit();
        }, 500);
    }
});
</code>
로그인 후 복사
로그인 후 복사

这是php代码:

<code><?php
$command = 'phantomjs '.'phantomjs\123.js'; //上面提到的js文件的路径
exec($command,$out);
</code>
로그인 후 복사
로그인 후 복사

使用以上的代码是可以截图并且保存的,但是无法动态生成图片名.
比如现在需求是保存的图片名称是订单号,就不知道如何传值,然后尝试使用.php来保存上面的js代码,以为这样可以使用动态的名称了,但是也遇到比较多的问题,所以请教各位大神如何传值,才能让phantomjs保存图片名的时候实现动态定义?谢谢.

给phantomjs传递参数,比如

<code>phantomjs phantomjs/123.js tupianming</code>
로그인 후 복사

在phantomjs里获取参数

<code>var args = require('system').args;
//args[1]就是你传入的图片名称(tupianming)  args[0]是js文件名</code>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿