Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Resurser/9719cf80c1d04cd52457bd2e89851c40 to your computer and use it in GitHub Desktop.
Save Resurser/9719cf80c1d04cd52457bd2e89851c40 to your computer and use it in GitHub Desktop.
Amp cache url PHP
<?php
function urlsafe_b64encode($string) {
return str_replace(array('+','/','='),array('-','_',''), base64_encode($string));
}
$timestamp=time();
$ampBaseUrl = "https://www-domain-com.cdn.ampproject.org";
$signatureUrl = '/update-cache/c/s/www.domain.com/amp/page-url?amp_action=flush&amp_ts='.$timestamp;
// opening the private key
$pkeyid = openssl_pkey_get_private("file://amp-private-key.pem");
// generating the signature
openssl_sign($signatureUrl, $signature, $pkeyid, OPENSSL_ALGO_SHA256);
openssl_free_key($pkeyid);
// urlsafe base64 encoding
$signature = urlsafe_b64encode($signature);
// final url for updating
$ampUrl = $ampBaseUrl.$signatureUrl."&amp_url_signature=".$signature;
echo $ampUrl."\n";
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment