leejayd Posted February 9, 2008 Share Posted February 9, 2008 I've very new to PHP. I'm using a php function to generate signed URLS for amazonaws. The function works okay. I've attached below for info. I need to know how to call this function on another web page via a HREF. Is this possible? The function is called via : getS3Redirect("total", "/TO.zip"); Here is the function: <?php require_once('./HMAC.php'); // // //echo getS3Redirect("total", "/TO.zip"); // // function getS3Redirect($bucketName, $objectName) { $accessKey = "private"; $secretKey = "private"; $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)); return "$S3_URL$objectName?AWSAccessKeyId=$accessKey&Expires=$expires&Signature=$sig"; } // // function hex2b64($str) { $raw = ''; for ($i=0; $i < strlen($str); $i+=2) { $raw .= chr(hexdec(substr($str, $i, 2))); } return base64_encode($raw); } ?> Many thanks. Leejayd Quote Link to comment Share on other sites More sharing options...
maexus Posted February 9, 2008 Share Posted February 9, 2008 You can't include a php file from another server and use it's functions. The php file that declares the function needs to be stored on locally on the server that you plan on using the function on. Quote Link to comment Share on other sites More sharing options...
leejayd Posted February 9, 2008 Author Share Posted February 9, 2008 The other web page is on the same server. Quote Link to comment Share on other sites More sharing options...
maexus Posted February 9, 2008 Share Posted February 9, 2008 Then just include the above php into the file you want the function and go. Quote Link to comment Share on other sites More sharing options...
leejayd Posted February 9, 2008 Author Share Posted February 9, 2008 Can you please give me an example of how to call the function so that the URL returned is fed into a HREF link. Also, when I echo the URL the page returned includes the GET browser header information which I need to prevent. Thanks. Quote Link to comment 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.