View on GitHub

php-phantomjs

Execute PhantomJS commands through PHP

Download this project as a .zip file Download this project as a tar.gz file

Introduction

PHP PhantomJS is a flexible PHP library to load pages through the PhantomJS headless browser and return the page response. It is handy for testing websites that demand javascript support and also supports screen captures.

Feature List

Prerequisites

PHP PhantomJS requires PHP 5.3.0 or greater to run.

Installation

It is recommended that you use Composer to install PHP PhantomJS:

composer require "jonnyw/php-phantomjs:3.*"

If you would like to use another installation method or would like to see more detailed installation instruction, see the installation documentation.

Basic Usage

The following illustrates how to make a basic GET request and output the page content:

<?php

use JonnyW\PhantomJs\Client;

$client = Client::getInstance();

/** 
 * @see JonnyW\PhantomJs\Message\Request 
 **/
$request = $client->getMessageFactory()
    ->createRequest('http://google.com', 'GET');

/** 
 * @see JonnyW\PhantomJs\Message\Response 
 **/
$response = $client->getMessageFactory()->createResponse();

// Send the request
$client->send($request, $response);

if($response->getStatus() === 200) {

    // Dump the requested page content
    echo $response->getContent();
}

And if you would like to save a screen capture to local disk:

<?php

use JonnyW\PhantomJs\Client;

$client = Client::getInstance();

/** 
 * @see JonnyW\PhantomJs\Message\Request 
 **/
$request = $client->getMessageFactory()->createCaptureRequest('http://google.com', 'GET');
$request->setCaptureFile('/path/to/save/capture/file.jpg');

/** 
 * @see JonnyW\PhantomJs\Message\Response 
 **/
$response = $client->getMessageFactory()->createResponse();

// Send the request
$client->send($request, $response);


For more detailed examples see the examples section, otherwise to create your own custom scripts check out the advanced documentation.