OG标签通过PHP

时间:2015-04-18 19:44:32

标签: facebook graph tags

我试图制作一个非常简单的游戏。

a)我让用户输入他的名字;
b)我把这个名字放在画布上;
c)我生成一个图像(base64)whit canvas.toDataRL(),我创建一个图像文件,将base64 URI发送到php文件。我正在使用此代码执行此操作:

JAVASCRIPT:

var canvas = document.getElementById("myCanvas");
    var dataURL = canvas.toDataURL("image/jpeg", 0.2);
    //console.log(dataURL);

    // post the dataUrl to php
    $.ajax({
        type: "POST",
        url: "upload.php",
        data: {image: dataURL}
        }).done(function( respond ) {
            console.log(respond);
    });

upload.php的

<?php
if ( isset($_POST["image"]) && !empty($_POST["image"]) ) {
    $dataURL = $_POST["image"];
    $parts = explode(',', $dataURL);  
    $data = $parts[1];
    $data = base64_decode($data); 
    // create a temporary unique file name
    $file = "img/" . UPLOAD_DIR . uniqid() . '.png';
    // write the file to the upload directory
    $success = file_put_contents($file, $data);
    print $success ? $file : 'Unable to save this image.';
}
?>

d)现在我想使用我创建的图像来设置og:image标签(在Facebook上分享)!我能怎么做?我老实说不知道。

谢谢!

3 个答案:

答案 0 :(得分:0)

也许在OG中,您可以将链接设为<?php echo $file; ?>

答案 1 :(得分:0)

找到了解决方案。 我将响应通过get传递给另一个捕获get参数的php页面并将其放入og:image&#39;内容部分。

答案 2 :(得分:0)

您可以在此处调试您的OG标记:https://developers.facebook.com/tools/debug/

有关开放图表标记的一般信息:https://developers.facebook.com/docs/sharing/webmasters#markup