Я создал конкурс, конкурсантов просят поделиться своими результатами на facebook.Facebook sharer, thumb отображается вместо большого изображения
У меня есть следующие кнопки, чтобы поделиться результатами:
print('<a class="facebook stemspeler" style="color:#eec920; margin-right:15px;" target="_blank" onclick="return !window.open(this.href, \'Facebook\', \'width=1200,height=300\')" href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.***.com%2Fallstars&picture=http%3A%2F%2Fwww.***.com%2Ftypo.php?id='.$makeUniq.'&title=tet&caption=test"e=test&description=test">Share</a>');
в $ makeUniq убеждается, что facebook извлекает результаты вместо кэширования результатов в первый раз (когда ссылка остается той же кэширует, теперь это не потому, что ссылка меняет каждый запрос).
Файл typo.php - это файл с изображением. Он принимает стандартный шаблон и преобразует вкладку конкурса в наложение изображения.
<?php
session_start();
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
// Output to browser
header('Content-Type: image/png');
// Create a 300x150 image
//WHITE BACKGROUND COLOR
$im = imagecreatetruecolor(1000, 1000);
$im = imagecreatefrompng("images/test.png");
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);
$test = imagecolorallocate($im, 255, 255, 0);
// Set the background to be white
imagefilledrectangle($im, 0, 0, 900, 990, $test);
// Path to our font file
$font = 'fonts/DINPro-Medium.ttf';
$fontSize = 24;
$angle = 0;
$x = 80;
$y = 150;
// Write it
imagettftext($im, $fontSize, $angle, $x, $y, $white, $font, ' : n');
$x = 80;
$y = 200;
// Write it
imagettftext($im, $fontSize, $angle, $x, $y, $white, $font, 'k : ');
$x = 80;
$y = 250;
// Write it
imagettftext($im, $fontSize, $angle, $x, $y, $white, $font, 'Ler :n');
$x = 80;
$y = 300;
// Write it
imagettftext($im, $fontSize, $angle, $x, $y, $white, $font, 'Mouwer : ');
$x = 80;
$y = 350;
// Write it
imagettftext($im, $fontSize, $angle, $x, $y, $white, $font, 'Rwer n');
$x = 80;
$y = 400;
// Write it
imagettftext($im, $fontSize, $angle, $x, $y, $white, $font, 'Rechtk : ');
$x = 80;
$y = 450;
// Write it
imagettftext($im, $fontSize, $angle, $x, $y, $white, $font, 'Cir : ');
imagepng($im);
imagedestroy($im);
?>
До сих пор все работает так, как должно быть.
Проблема заключается в том, что при открытии функции общего доступа facebook facebook продолжает показывать изображение как миниатюру вместо большого изображения.
И результат я и добиваюсь это большое изображение:
Я попытался изменить разрешение много раз, и есть несколько сообщений в Интернете, которые близки, чтобы описать Эта проблема. У кого-нибудь есть идеи, как я мог бы исправить эту проблему?
Заранее благодарен!
Я пытался использовать эти габаритах, но я получаю тот же результат. Возможно ли послать высоту и ширину в качестве параметра в URL-адресе? –
@FrankW. Я отредактировал свой ответ выше. - Возможно, проблема с кешем. – mgentilc
Знаки og: image: heigth & go: image: width, упомянутые Alberto, используются только искателем в первый раз, когда он сканирует URL-адрес с отсутствием в кеше. Если вы не включите их, вы не увидите предварительный просмотр изображения в диалоговом окне общего доступа Facebook в первый раз, так как он должен быть загружен async. Если вы включите их, вы сможете увидеть предварительный просмотр изображения в диалоговом окне общего доступа, даже если искатель как ничто в кеше, так как он сможет загружать его синхронно. После того, как сканер Facebook, как и все кешированные, эти теги больше не полезны, так что это не то, что вызывает вашу проблему. – mgentilc