leejayd Posted February 10, 2008 Share Posted February 10, 2008 I have the function below. It works okay, except that a bunch of http header info is returned to the browser. The cause of this is the require_once('HMAC.php'); statement at the top of the function. Is there a way to stop this from happening? <?php require_once('HMAC.php'); function getS3Redirect($bucketName, $objectName) { $accessKey = "1S1"; $secretKey = "adfa"; $S3_URL = "http://" . $bucketName . ".s3.amazonaws.com"; $expires = time() + (60*5); $stringToSign = "GET\n\n\n" . $expires . "\n/" . $bucketName . $objectName; $hasher =& new Crypt_HMAC($secretKey, "sha1"); $sig = $hasher->hash(trim($stringToSign)); $sig = hex2b64($sig); $sig = rawurlencode(trim($sig)); $signedurl = "$S3_URL$objectName?AWSAccessKeyId=$accessKey&Expires=$expires&Signature=$sig"; $hrefString ="<a href= \"$signedurl\">$signedurl </a>"; echo $hrefString; } // // function hex2b64($str) { $raw = ''; for ($i=0; $i < strlen($str); $i+=2) { $raw .= chr(hexdec(substr($str, $i, 2))); } return base64_encode($raw); } ?> Thanks in advance Quote Link to comment https://forums.phpfreaks.com/topic/90379-require_once-spits-out-header-help/ Share on other sites More sharing options...
Chris92 Posted February 10, 2008 Share Posted February 10, 2008 All the header info has to be set before any HTML is loaded, if your HMAC.php page has any HTML on it before any headers are set it is going to cause an error. Quote Link to comment https://forums.phpfreaks.com/topic/90379-require_once-spits-out-header-help/#findComment-463448 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.