What am I doing ?
I have a dynamically created html division
containing the score of a game played by user which user can share on social media.
For sharing I have meta tag e.g. facebook
<meta property="og:image" content= "<?php echo $img_url; ?>"/>
Where $img_url
is the link of the screenshot of dynamically created html division
.
test.php -- where my above mentioned meta tag is placed and I want to take screenshot of html div
if $img_url
is not set.
<?php
session_start();
$img_url = $_POST['img_url'];
if(!isset($url)) {
/* <script>
function capture() {
html2canvas will give var img.
Which will be POSTED to testsave.php to save it in the server.
}
</script> */
}
?>
<html>
<!--dynamically created html division -->
</html>
testsave.php -- which will take the posted value from test.php
and save the screenshot image to server and will send back the $img_url
to test.php
<?php
session_start();
/*Get the base-64 string from data
Decode the string
Save the image
function predefined for random string*/
$img_url = $random_str.".png";
file_put_contents($img_url, $unencodedData);
$_SESSION['img_url'] = $img_url ;
?>
What my problem is ?
When facebook scrapes a paricular page , it doesn't take session values
or any values from other page. So I can't send img_val
from testsave.php
to another page because scraper won't read POSTED
values.
So, what am I doing is when scraper will scrape test.php
then if $img_val
is not set I want my code to take the screenshot and post js
variable var img
to testsave.php
to save the image, which will then post back the value of $img_val
to test.php
.
I know there may be many mistakes in above code like I can't put js
inside php
. But I tried it many way but couldn't figure it out.
Can you please suggest what can I do to make the code work or can you suggest any other way to do it ?