GrabzIt
Tools to Capture and Convert the Web

Handler with PHPPHP API

Description

Having problems debugging your handler? Try the Callback Handler Test Tool.

The handler described here processes callbacks from the GrabzIt screenshot web service. The URL of this handler is passed to GrabzIt in the callBackURL parameter of the Save method. However this technique will only work if the handler is accessible via the Internet.

The following parameters are passed to the handler as GET parameters.

  • id - the unique identifier of the screenshot, used by the GetResult method
  • filename - the filename of the screenshot, automatically created by combining the screenshot's unique identifier with it's file extension
  • message - any message due to an error caused during the processing of the screenshot
  • customId - any custom id that was passed to the GrabzIt web service via the Save method
  • format - the format of the screenshot, e.g "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "pdf", "png", "tiff" or "xlsx"

Example

Remember this callback will not work if your application is located on localhost.

This example shows how the GrabzIt PHP handler can be implemented. This captures five parameters passed to it from the GrabzIt service, including the unique id of the screenshot which is passed to the GetResult method.

This method then returns the screenshot, which is saved in the results directory. However if a null value is returned from the GetResult method this indicates that an error has occured.

include("GrabzItClient.class.php");

// This PHP file handles the GrabzIt callback

$message = $_GET["message"];
$customId = $_GET["customid"];
$id = $_GET["id"];
$filename = $_GET["filename"];
$format = $_GET["format"];

// Custom id can be used to store user ids or whatever is needed for the later processing of the
// resulting screenshot

$grabzIt = new GrabzItClient("APPLICATION KEY", "APPLICATION SECRET");
$result = $grabzIt->GetResult($id);

if (!$result)
{
   return;
}

// Ensure that the application has the correct rights for this directory.
file_put_contents("results" . DIRECTORY_SEPARATOR . $filename, $result);
Try all our premium features for free with a 7 day free trial. Then from $5.99 a month, unless cancelled.
  • More Captures
  • More Features
  • More API's
  • Bigger Scrapes
  • Bigger Screenshots
  • Bigger Everything
Start Free Trial