Codeigniter — файлы должны быть в одной папке

Я сейчас пользуюсь 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

Решение

Все, что вам нужно сделать, это получить доступ к файлу изображения, используя его путь, либо относительно пути к файлу PHP, который его обрабатывает, либо, что лучше, его абсолютный путь. Например, скажем, ваш код находится в контроллере, в файле application/controllers/myImageProcessor.php и вы хотите загрузить файл, хранящийся в application/input-files, напишите что-нибудь и сохраните измененную версию в public/images, Вы генерируете пути к файлам следующим образом:

// input path is '../input-files/'
$inputPath = dirname(__FILE__).'/input-files/';            // this is an absolute path
$inputName = 'original.jpg';

// output path is '../../public/images/'
$outputPath = dirname(dirname(__FILE__)).'/public/images/';
$outputName = 'modified.jpg';

// load image from file
$img = imagecreatefromjpeg($inputPath.$inputName);

// ...
// write on $img here...
// ...

// save it to other file
imagejpeg($img, $outputPath.$outputName, 95);

Не стоит хранить все файлы в одном каталоге. Кроме того, не смешивайте код с HTML / JS / CSS и никогда не помещайте в один и тот же каталог исходные файлы со сгенерированными файлами или файлами, полученными из внешних источников (например, загруженных пользователями).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]