Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用php创建文本图像_Php_Image_Imagettftext - Fatal编程技术网

用php创建文本图像

用php创建文本图像,php,image,imagettftext,Php,Image,Imagettftext,我正在使用以下代码: <?php $im = ImageCreate(350, 70); $white = ImageColorAllocate($im, 0xFF,0xFF,0xFF); $fontColor = ImageColorAllocate($im, 0xF2,0x67,0x22); ImageTTFText ($im, 20, 0, 10, 40, $fontColor, '/home/squareli/public_html/cookingessence.com/f

我正在使用以下代码:

<?php
 $im = ImageCreate(350, 70);
 $white = ImageColorAllocate($im, 0xFF,0xFF,0xFF);
 $fontColor = ImageColorAllocate($im, 0xF2,0x67,0x22);
 ImageTTFText ($im, 20, 0, 10, 40, $fontColor, '/home/squareli/public_html/cookingessence.com/fonts/TektonPro-BoldExt.otf', $text); 
 Header('Content-Type: image/png');
 ImagePNG($im);
?>

我想把这段代码保存在它自己的.php文件中。我希望能够通过我网站上的其他页面访问此文件。我想为每个页面分配$text不同的变量。这可能吗

我目前可以通过以下方式通过其他页面访问php代码:

<img src="code-page-name.php">


我的问题是我找不到为$text分配变量的方法。我能够做到这一点的唯一方法是,将名称直接放入上述代码中,或者加载特定页面,并在URL/code page name.php?text=name%中添加变量,在%页面的%上,您可以通过get发送文本

code-page-name.php?text=blah
这样你就可以访问它了

$_GET[text]

您在url中发送的任何内容都可以通过$\u GET访问,并且您可以发送多个变量。例如
code page name.php?text=blah&color=red&color2=green
等。

是,使用会话。它将类似于验证码。您可以使用$text作为变量,并将其一次性写入图像

#file1.php
session_start();
$text = $_SESSION['text'];
//draw the image here

#file2.php
session_start();
echo $_SESSION['text'];

当然,
$\u会话
不可靠。但这是最好最简单的解决方案

code-page-name.php



other-page-name.php



请记住将
session\u start()
函数放在任何html标记之前。

session不是一个好主意,因为它不可靠,随时可能消失。如果确实要使用会话,请将其保存在db中。我总是有不好的会议经验。这似乎不起作用。我收到以下错误:警告:session_start()[function.session start]:无法发送会话缓存限制器-第2行的public_html/inc/index.inc.php中已发送的头(输出从public_html/template.php:17开始)。第2行是:session_start();这并没有解决问题。它遇到了错误,但文本仍然无法显示。我已经尝试过了,但无法让它工作。没有文本只显示一个白色背景,因此变量不会通过。
<?php
session_start();
if(isset($_SESSION["text"])) {
$text = $_SESSION["text"];
}
else {
$text = "Default Text";
}
$im = ImageCreate(350, 70);
$white = ImageColorAllocate($im, 0xFF,0xFF,0xFF);
$fontColor = ImageColorAllocate($im, 0xF2,0x67,0x22);
ImageTTFText ($im, 20, 0, 10, 40, $fontColor, '/home/squareli/public_html/cookingessence.com/fonts/TektonPro-BoldExt.otf', $text);
Header('Content-Type: image/png');
ImagePNG($im);
?>
<?php
session_start();
$_SESSION["text"] = "WhatEver";
?>
<img src="code-page-name.php" />