#!/usr/bin/php $date, 'X-PDF-Alchemy-Signature'=>$signature); $options=array('headers'=>$headers); $response=http_request(HTTP_METH_GET,"http://www.pdfalchemy.com$request",null,$options,$info); if ($response===false) error_log('http_request returned false.'); else if ($info['response_code']==0) error_log('http_request returned response_code 0 - probably timed out.'); else if ($info['response_code']>=300) error_log("Failed to get next download: $response"); else { // Get the filename. $headers=explode("\r\n",substr($response,0,strpos($response,"\r\n\r\n"))); foreach ($headers as $header) { $header=explode(': ',$header); if ($header[0]=='Content-Disposition') $filename=ereg_replace('.*filename="(.*)".*','\1',$header[1]); else if ($header[0]=='X-PDF-Alchemy-ID') $documentId=$header[1]; } if (!isset($filename)) error_log("Failed to find filename in Content-Disposition header."); else { // Write the file. $filename=basename($filename); $data=(substr($response,strpos($response,"\r\n\r\n")+4)); file_put_contents($filename,$data); print "Downloaded '$filename'.\n"; return (isset($documentId)) ? $documentId : false; } } return false; } // Removes documentId from the PDF Alchemy outqueue. function deleteDocument($documentId) { // Generate the HMAC signature. $date=gmdate("D, d M Y H:i:s T"); $request='/'.ACCESS_KEY_ID.'/outqueue/'.urlencode(basename($documentId)); $clearText="DELETE\n".ACCESS_KEY_ID."\n$date\n$request"; $signature=base64_encode(hash_hmac('sha1',$clearText,SECRET_ACCESS_KEY,true)); // Remove the document from PDF Alchemy. $headers=array('Date'=>$date, 'X-PDF-Alchemy-Signature'=>$signature); $options=array('headers'=>$headers); $response=http_request(HTTP_METH_DELETE,"http://www.pdfalchemy.com$request",null,$options,$info); if ($response===false) error_log('http_request returned false.'); else if ($info['response_code']==0) error_log('http_request returned response_code 0 - probably timed out.'); else if ($info['response_code']>=300) error_log("Failed to delete document: $response"); else print("Removed '$documentId' from PDF Alchemy.\n"); } // Download the next file, and remove it from PDF Alchemy. while (($documentId=downloadNext())!==false) deleteDocument($documentId); ?>