【问题标题】:Text to image php script doesn't execute when inside Wordpress plugin在 Wordpress 插件中不执行文本到图像的 php 脚本
【发布时间】:2019-05-03 18:40:21
【问题描述】:

我正在开发一个主题构建器,但有一个我无法解决的问题。我有一个文本到图像 (png) 脚本,它在我的 WP 插件提交表单之外运行良好,但在内部时,它不会执行。

我对所有变量都使用了 var_dump。文本字段被正确传递,目录被正确传递。每个变量都被正确传递。我尝试将整个脚本粘贴到插件文件中,并使用“include”,这是我通常的做法。

什么可能导致这种情况发生?如果我在“text-to-image.php”中手动设置变量并访问 URL,它会正确执行。如果我在我的 WP 插件页面中运行脚本,它就不起作用(即使是手动分配的变量)。

请注意,“主题构建器”的所有其他功能都可以正常工作,只是图像创建器不能。

$sitename = $_REQUEST['sitename'];
$logoselect = $_REQUEST['logoselect'];
$domain = $sitename;

if ($logoselect == "No") { }
} else {
include 'text-to-image.php';
}

text-to-image.php 包含一个我在 SO 上找到的脚本,该脚本已确认在 WP 插件页面之外工作。最后两行是这样(主题名称和图像是在脚本的主要部分中指定的动态创建的名称):

imagepng($image, "C:\\wamp64\\www\\wp-install\\wp-content\\themes\\$themenamereplacer\\$imagefilename.png");
imagedestroy($image);

提交的文本字段

<input type="text" name="sitename" value="<?php echo get_option("blogname"); ?>" />

为了测试,我使用了 var_dump on...

$themenamereplacer
$imagefilename
$sitename
$domain

每个人都正确地传递了变量。即使我手动为图像输出分配位置,如果在 WP 插件页面内运行,它也不会执行(即不会创建图像)。如果我直接访问 text-to-image.php URL,它会正确执行(创建图像)。

我使用 $domain = $sitename 的原因是因为我使用变量 $domain 创建了主题构建器并且不想全部更改...但是,我确实测试了更改所有“域” 元素到“站点名称”,但它仍然不起作用。

有人知道发生了什么吗?非常感谢您的帮助。

【问题讨论】:

    标签: php wordpress image text themes


    【解决方案1】:

    解决了。

    text-to-image.php 内部,

    我正在使用代码

    $font = "./fonts/$arrayoffontsrandomized.tff";
    

    显然路径不准确。改为:

    $font = dirname(__FILE__) . "/fonts/$arrayoffontsrandomized.ttf";
    

    解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多