我目前正在使用imagecreatefromjpeg()
向图片添加文字。
我使用它的所有文件都在一个文件夹中,但是我使用的是CodeIgniter,因此我的文件分布在不同的文件夹中。
实现此目的的解决方法是什么?
我正在考虑将所有必需的文件放在我的视图中,但这并不起作用。
查看错误
遇到PHP错误
严重性:警告
消息:imagettftext():找不到/打开字体
文件名:views / coupon.php
行号:30
查看代码
<?php
//Report any errors
ini_set("display_errors", "1");
error_reporting(E_ALL);
//Set the Content Type
// header('Content-type: image/jpeg');
// Create Image From Existing File
$jpg_image = imagecreatefromjpeg('http://localhost:8888/game/rcw/assets/couponWrite.jpg');
// Allocate A Color For The Text
$white = imagecolorallocate($jpg_image, 155, 155, 155);
// Set Path to Font File
$font_path = 'http://localhost:8888/game/rcw/application/views/Arial.ttf';
// Set Text to Be Printed On Image
$text = "IGL" . rand(55555,99999);
// Print Text On Image
imagettftext($jpg_image, 25, 0, 75, 300, $white, $font_path, $text);
// Send Image to Browser
imagejpeg($jpg_image);
// Clear Memory
imagedestroy($jpg_image);
?>
答案 0 :(得分:0)
您所要做的就是使用其路径访问映像文件,或者相对于处理它的PHP文件的路径,或者更好,它的绝对路径。例如,假设您的代码位于文件application/controllers/myImageProcessor.php
中的控制器中,并且您希望加载存储在application/input-files
中的文件,在其上写入内容并将修改后的版本存储在{{ 1}}。您生成文件的路径,如下所示:
public/images
将所有文件存储在单个目录中并不是一个好主意。此外,不要将代码与HTML / JS / CSS混合在一起,永远不要将生成的文件或从外部源检索到的文件放入相同的目录源文件中(例如,由用户上传)。