首页 > 解决方案 > 在 Wordpress 中使用时 imagejpeg 不起作用

问题描述

再会。为什么当我尝试在外部页面上运行我的代码时,它运行良好。但是当我使用 wordpress 将它添加到我的页面时,它给了我奇怪的错误。为什么会这样,我该如何解决?

代码:

<?php
// (A) OPEN IMAGE
$img = imagecreatefromjpeg('https://images.unsplash.com/photo-1550684376-efcbd6e3f031?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&w=1000&q=80');

// (B) WRITE TEXT
$white = imagecolorallocate($img, 255, 255, 255);
$txt = "sad";
$font = realpath('arial.ttf');
//(IMAGE, FONT SIZE, TILT ANGLE, X, Y, COLOR, FONT, TEXT)
imagettftext($img, 12, 0, 253, 234, $white, $font, $txt);

// (C) OUTPUT IMAGE
header('Content-Type: image/jpeg');
imagejpeg($img);

// OR SAVE TO A FILE
// THE LAST PARAMETER IS THE QUALITY FROM 0 to 100
imagejpeg($img, "test.jpg", 100);
?>

这是我在我的 wordpress 页面上尝试时得到的结果: 图片在这里

标签: phpwordpressjpeg

解决方案


问题是您在短代码中运行它并更改您已经创建的输出的标题,即页面。如果要在站点中显示图像,这取决于您要做什么:

 ob_start();
 imagejpeg( $img, NULL, 100 );
 imagedestroy( $img );
 $i = ob_get_clean();

 echo "<img src='data:image/jpeg;base64," . base64_encode( $i )."'>";

推荐阅读