Program AWS with PHP

Parsing XML with the built-in PHP XML parser can be tricky. But once you see how it’s done, you’ll be parsing Amazon XML in no time.

Using someone else’s wrapper functions to handle Amazon Web Services requests is a nice shortcut to building applications. But the time inevitably comes when you want to do something that existing wrappers don’t handle. You can either look under the hood and tinker with or add to someone else’s work, or you can build your own scripts from scratch.

The following bit of PHP might be a good start if you’re building something from the ground up. It uses PHP’s built-in XML parser to handle AWS responses, so there’s nothing new to install. PHP’s parser is James Clark’s expat, and you can find the documentation at http://www.php.net/xml.

Given an ASIN, this example requests the lite XML response and formats the results in an HTML table.

The Code

This code builds an AsinSearch Amazon request URL with the asin value passed in through the querystring, and retrieves the XML with the fopen( ) function.

PHP’s xml_parse_into_struct function turns the AWS response into two arrays—one with tag names ($index) and the other with values ($values). Looping through the array, the script then sets the value when it finds the XML tag it’s looking for. With the values set, it prints the HTML to the page with the values in place. Create a file called ASINsearch.php containing the following code:

<?php
// Set Local variables
$dev_token = "insert developer ...

Get Amazon Hacks now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.